analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
39 lines • 2.19 kB
TypeScript
import type { RecommendedClassModelTableItem, RecommendedClassModelFilters, RecommendedClassModelsApiResponse, RecommendedClassUserFilterData } from '../../../types/recommendedLessons';
import type { SubjectEnum } from '../../../enums/SubjectEnum';
/**
* Props for the RecommendedClassDraftsTab component
*/
export interface RecommendedClassDraftsTabProps {
/** Function to fetch recommendedClass drafts from API */
fetchRecommendedClassDrafts: (filters?: RecommendedClassModelFilters) => Promise<RecommendedClassModelsApiResponse>;
/** Function to delete a recommendedClass draft */
deleteRecommendedClassDraft: (id: string) => Promise<void>;
/** Callback when create draft button is clicked */
onCreateDraft: () => void;
/** Callback when send lesson button is clicked on a draft */
onSendDraft?: (draft: RecommendedClassModelTableItem) => void;
/** Callback when edit draft button is clicked */
onEditDraft?: (draft: RecommendedClassModelTableItem) => 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?: RecommendedClassUserFilterData;
/**
* Map of subject IDs to names for drafts display.
* IMPORTANT: This Map should be memoized with useMemo in the parent component
* to avoid unnecessary re-fetches.
*/
subjectsMap?: Map<string, string>;
}
/**
* RecommendedClassDraftsTab component
* Displays recommendedClass drafts with filters, pagination, and CRUD actions.
* Uses the shared ModelsTabBase component for common functionality.
*/
export declare const RecommendedClassDraftsTab: ({ fetchRecommendedClassDrafts, deleteRecommendedClassDraft, onCreateDraft, onSendDraft, onEditDraft, emptyStateImage, noSearchImage, mapSubjectNameToEnum, userFilterData, subjectsMap, }: RecommendedClassDraftsTabProps) => import("react/jsx-runtime").JSX.Element;
export default RecommendedClassDraftsTab;
//# sourceMappingURL=DraftsTab.d.ts.map