import { CollectionProxy, useCollectionProxy } from 'onekijs-framework'; import useTreeInitialState from '../../tree/hooks/useTreeInitialState'; import { UseTreeOptions } from '../../tree/typings'; import TreeSelectService from '../TreeSelectService'; import { TreeSelectItem, TreeSelectState } from '../typings'; const useTreeSelectController = = TreeSelectItem>( dataSource: T[] | string | undefined, options: UseTreeOptions = {}, ): CollectionProxy, TreeSelectService>> => { const initialState = useTreeInitialState(dataSource, Object.assign({ initialLimit: 20 }, options)); const collection = useCollectionProxy, TreeSelectService>>( dataSource, TreeSelectService, initialState, ); return collection; }; export default useTreeSelectController;