UNPKG

@r365/react-calendar-timeline

Version:
44 lines (43 loc) 1.89 kB
import { Component } from 'react'; import { ItemProps } from './Item'; import { Id, TimelineDate, TimelineGroupBase, TimelineItemBase, TimelineKeys } from '../types/main'; import { ItemDimension } from '../types/dimension'; export type CanResize = true | false | 'left' | 'right' | 'both'; type ItemsProps<CustomItem extends TimelineItemBase<number> | TimelineItemBase<TimelineDate>> = { groups: TimelineGroupBase[]; items: CustomItem[]; dimensionItems: ItemDimension[]; selected?: Id[]; canvasTimeStart: number; canvasTimeEnd: number; canvasWidth: number; dragSnap?: number; minResizeWidth?: number; selectedItem?: Id; canChangeGroup?: boolean; canMove?: boolean; canResize?: CanResize; canSelect?: boolean; keys: TimelineKeys; timezone: string; moveResizeValidator?: ItemProps<CustomItem>['moveResizeValidator']; itemSelect: ItemProps<CustomItem>['onSelect']; itemDrag: ItemProps<CustomItem>['onDrag']; itemDrop: ItemProps<CustomItem>['onDrop']; itemResizing: ItemProps<CustomItem>['onResizing']; itemResized: ItemProps<CustomItem>['onResized']; onItemDoubleClick: ItemProps<CustomItem>['onItemDoubleClick']; onItemContextMenu?: ItemProps<CustomItem>['onContextMenu']; itemRenderer?: ItemProps<CustomItem>['itemRenderer']; groupTops: number[]; useResizeHandle?: boolean; scrollRef: HTMLElement | null; }; type ItemsState = object; export default class Items<CustomItem extends TimelineItemBase<number> | TimelineItemBase<TimelineDate>> extends Component<ItemsProps<CustomItem>, ItemsState> { shouldComponentUpdate(nextProps: ItemsProps<CustomItem>): boolean; isSelected(item: CustomItem, itemIdKey: string): boolean; getVisibleItems(canvasTimeStart: number, canvasTimeEnd: number): CustomItem[]; render(): import("react/jsx-runtime").JSX.Element; } export {};