UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

51 lines 2.74 kB
import type { SubjectEnum } from '../../enums/SubjectEnum'; import type { ActivityTableItem, ActivityHistoryFilters, ActivitiesHistoryApiResponse, ActivityUserFilterData, ActivityModelTableItem, ActivityModelFilters, ActivityModelsApiResponse } from '../../types/activitiesHistory'; /** * Props for the ActivitiesHistory component */ export interface ActivitiesHistoryProps { /** Function to fetch activities history from API */ fetchActivitiesHistory: (filters?: ActivityHistoryFilters) => Promise<ActivitiesHistoryApiResponse>; /** Function to fetch activity models from API */ fetchActivityModels: (filters?: ActivityModelFilters) => Promise<ActivityModelsApiResponse>; /** Function to delete an activity model */ deleteActivityModel: (id: string) => Promise<void>; /** Callback when create activity button is clicked */ onCreateActivity: () => void; /** Callback when create model button is clicked */ onCreateModel: () => void; /** Callback when a history row is clicked */ onRowClick: (row: ActivityTableItem) => void; /** Callback when send activity button is clicked on a model */ onSendActivity?: (model: ActivityModelTableItem) => void; /** Callback when edit model button is clicked */ onEditModel?: (model: ActivityModelTableItem) => void; /** Image for empty state */ emptyStateImage?: string; /** Image for no search results */ noSearchImage?: string; /** Function to map subject name to SubjectEnum */ mapSubjectNameToEnum?: (subjectName: string) => SubjectEnum | null; /** User data for populating filter options */ userFilterData?: ActivityUserFilterData; /** * Map of subject IDs to names for models display. * IMPORTANT: This Map should be memoized with useMemo in the parent component * to avoid unnecessary re-fetches when the MODELS tab is active. * @example * const subjectsMap = useMemo(() => { * const map = new Map(); * subjects.forEach(s => map.set(s.id, s.name)); * return map; * }, [subjects]); */ subjectsMap?: Map<string, string>; } /** * ActivitiesHistory component * Displays activities history with tabs for history, drafts, and models. * Each tab is an independent component that manages its own state and data fetching. */ export declare const ActivitiesHistory: ({ fetchActivitiesHistory, fetchActivityModels, deleteActivityModel, onCreateActivity, onCreateModel, onRowClick, onSendActivity, onEditModel, emptyStateImage, noSearchImage, mapSubjectNameToEnum, userFilterData, subjectsMap, }: ActivitiesHistoryProps) => import("react/jsx-runtime").JSX.Element; export default ActivitiesHistory; //# sourceMappingURL=ActivitiesHistory.d.ts.map