UNPKG

jamis

Version:

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

44 lines (43 loc) 1.56 kB
import React from 'react'; import type { NavDropInfo, NavLink, NavOverflow, NavigationProps } from '../types'; interface NavigationState { error?: string; dropIndicator?: { top: number; left: number; width: number; height?: number; opacity?: number; }; } export default class Navigation extends React.Component<NavigationProps, NavigationState> { static defaultProps: Pick<NavigationProps, 'indentSize'>; dragNode: { node: HTMLElement; link: NavLink | null; } | null; dropInfo: NavDropInfo | null; startPoint: { y: number; x: number; }; state: NavigationState; componentDidMount(): void; componentDidUpdate(prevProps: Readonly<NavigationProps>, prevState: Readonly<NavigationState>, snapshot?: any): void; /** * 初始加载当前激活的link的deferApi */ fetchActiveLinkDeferApi: () => void; handleClick: (link: NavLink) => void; toggleLink: (target: NavLink, forceFold?: boolean) => void; getDropInfo: (e: DragEvent, id: string, depth: number) => NavDropInfo; updateDropIndicator(e: DragEvent): void; handleDragStart(link: NavLink): (e: React.DragEvent) => void; handleDragOver(e: DragEvent): void; handleDragEnd(e: DragEvent): void; makeLinkClassName: (link: NavLink) => string; renderItem(link: NavLink, index: number, depth?: number, overflow?: boolean): JSX.Element | null; renderOverflowNavs(overflowConfig: NavOverflow): JSX.Element; render(): JSX.Element; } export {};