analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
39 lines • 1.97 kB
TypeScript
import type { ActivityModelTableItem, ActivityModelFilters, ActivityModelsApiResponse, ActivityUserFilterData } from '../../../types/activitiesHistory';
import type { SubjectEnum } from '../../../enums/SubjectEnum';
/**
* Props for the ModelsTab component
*/
export interface ModelsTabProps {
/** 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 model button is clicked */
onCreateModel: () => 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.
*/
subjectsMap?: Map<string, string>;
}
/**
* ModelsTab component
* Displays activity models with filters, pagination, and CRUD actions.
* Uses the shared ModelsTabBase component for common functionality.
*/
export declare const ModelsTab: ({ fetchActivityModels, deleteActivityModel, onCreateModel, onSendActivity, onEditModel, emptyStateImage, noSearchImage, mapSubjectNameToEnum, userFilterData, subjectsMap, }: ModelsTabProps) => import("react/jsx-runtime").JSX.Element;
export default ModelsTab;
//# sourceMappingURL=ModelsTab.d.ts.map