UNPKG

analytica-frontend-lib

Version:

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

1 lines 4.9 kB
{"version":3,"sources":["../src/utils/examFilterHelpers.ts"],"sourcesContent":["import type { FilterConfig } from '../components/Filter/useTableFilter';\nimport type { ExamFilterOption } from '../types/examsHistory';\n\n/**\n * Exam status options for filters\n * Used in exam history page - specific PROVA status values\n */\nexport const EXAM_STATUS_OPTIONS: ExamFilterOption[] = [\n { id: 'AGENDADA', name: 'Agendada' },\n { id: 'EM_ANDAMENTO', name: 'Em andamento' },\n { id: 'FINALIZADA', name: 'Finalizada' },\n { id: 'CANCELADA', name: 'Cancelada' },\n];\n\n/**\n * Filter category keys for exams\n */\nexport enum EXAM_FILTER_CATEGORY {\n SCHOOL = 'school',\n SCHOOL_YEAR = 'schoolYear',\n CLASS = 'class',\n SUBJECT = 'subject',\n STATUS = 'status',\n}\n\n/**\n * Filter group keys for exams\n */\nexport enum EXAM_FILTER_GROUP {\n ACADEMIC = 'academic',\n CONTENT = 'content',\n STATUS = 'status',\n}\n\n/**\n * Create filter configuration for exam drafts/models\n * Only subject filter (simpler than exams history)\n *\n * @param subjectOptions - Subject options for the filter\n * @returns Filter configuration array for drafts/models pages\n *\n * @example\n * ```tsx\n * const filterConfigs = createExamDraftsModelsFiltersConfig(subjectOptions);\n * ```\n */\nexport const createExamDraftsModelsFiltersConfig = (\n subjectOptions: ExamFilterOption[]\n): FilterConfig[] => [\n {\n key: EXAM_FILTER_GROUP.CONTENT,\n label: 'CONTEÚDO',\n categories: [\n {\n key: EXAM_FILTER_CATEGORY.SUBJECT,\n label: 'Matéria',\n selectedIds: [],\n itens: subjectOptions,\n },\n ],\n },\n];\n\n/**\n * Create full filter configuration for exam history\n * Includes status, academic data, and content filters\n *\n * @param options - Filter options object with schools, classes, subjects, schoolYears\n * @returns Filter configuration array for exam history page\n *\n * @example\n * ```tsx\n * const filterConfigs = createExamHistoryFiltersConfig({\n * schools: [...],\n * classes: [...],\n * subjects: [...],\n * schoolYears: [...],\n * });\n * ```\n */\nexport const createExamHistoryFiltersConfig = (options: {\n schools?: ExamFilterOption[];\n classes?: ExamFilterOption[];\n subjects?: ExamFilterOption[];\n schoolYears?: ExamFilterOption[];\n}): FilterConfig[] => [\n {\n key: EXAM_FILTER_GROUP.STATUS,\n label: 'STATUS',\n categories: [\n {\n key: EXAM_FILTER_CATEGORY.STATUS,\n label: 'Status da Prova',\n selectedIds: [],\n itens: EXAM_STATUS_OPTIONS,\n },\n ],\n },\n {\n key: EXAM_FILTER_GROUP.ACADEMIC,\n label: 'DADOS ACADÊMICOS',\n categories: [\n {\n key: EXAM_FILTER_CATEGORY.SCHOOL,\n label: 'Escola',\n selectedIds: [],\n itens: options.schools ?? [],\n },\n {\n key: EXAM_FILTER_CATEGORY.SCHOOL_YEAR,\n label: 'Ano',\n selectedIds: [],\n itens: options.schoolYears ?? [],\n },\n {\n key: EXAM_FILTER_CATEGORY.CLASS,\n label: 'Turma',\n selectedIds: [],\n itens: options.classes ?? [],\n },\n ],\n },\n {\n key: EXAM_FILTER_GROUP.CONTENT,\n label: 'CONTEÚDO',\n categories: [\n {\n key: EXAM_FILTER_CATEGORY.SUBJECT,\n label: 'Matéria',\n selectedIds: [],\n itens: options.subjects ?? [],\n },\n ],\n },\n];\n"],"mappings":";AAOO,IAAM,sBAA0C;AAAA,EACrD,EAAE,IAAI,YAAY,MAAM,WAAW;AAAA,EACnC,EAAE,IAAI,gBAAgB,MAAM,eAAe;AAAA,EAC3C,EAAE,IAAI,cAAc,MAAM,aAAa;AAAA,EACvC,EAAE,IAAI,aAAa,MAAM,YAAY;AACvC;AAKO,IAAK,uBAAL,kBAAKA,0BAAL;AACL,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,aAAU;AACV,EAAAA,sBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAWL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAkBL,IAAM,sCAAsC,CACjD,mBACmB;AAAA,EACnB;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAmBO,IAAM,iCAAiC,CAAC,YAKzB;AAAA,EACpB;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,WAAW,CAAC;AAAA,MAC7B;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,eAAe,CAAC;AAAA,MACjC;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,WAAW,CAAC;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,YAAY,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;","names":["EXAM_FILTER_CATEGORY","EXAM_FILTER_GROUP"]}