analytica-frontend-lib 1.2.30 → 1.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityCardQuestionBanks/index.js.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.mjs.map +1 -1
- package/dist/ActivityFilters/index.d.ts +5 -9
- package/dist/ActivityFilters/index.d.ts.map +1 -1
- package/dist/ActivityFilters/index.js +116 -74
- package/dist/ActivityFilters/index.js.map +1 -1
- package/dist/ActivityFilters/index.mjs +117 -75
- package/dist/ActivityFilters/index.mjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +116 -74
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +138 -96
- package/dist/index.mjs.map +1 -1
- package/dist/types/activityFilters.d.ts +11 -2
- package/dist/types/activityFilters.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/components/ActivityFilters/ActivityFilters.tsx
|
|
2
|
-
import { useState as useState9, useEffect as useEffect10, useMemo as useMemo2, useCallback } from "react";
|
|
2
|
+
import { useState as useState9, useEffect as useEffect10, useMemo as useMemo2, useCallback, useRef as useRef6 } from "react";
|
|
3
3
|
|
|
4
4
|
// src/utils/utils.ts
|
|
5
5
|
import { clsx } from "clsx";
|
|
@@ -4613,11 +4613,13 @@ var questionTypes = [
|
|
|
4613
4613
|
];
|
|
4614
4614
|
var QuestionTypeFilter = ({
|
|
4615
4615
|
selectedTypes,
|
|
4616
|
-
onToggleType
|
|
4616
|
+
onToggleType,
|
|
4617
|
+
allowedQuestionTypes
|
|
4617
4618
|
}) => {
|
|
4619
|
+
const availableQuestionTypes = allowedQuestionTypes || questionTypes;
|
|
4618
4620
|
return /* @__PURE__ */ jsxs16("div", { children: [
|
|
4619
4621
|
/* @__PURE__ */ jsx21(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Tipo de quest\xE3o" }),
|
|
4620
|
-
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-2 gap-2", children:
|
|
4622
|
+
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-2 gap-2", children: availableQuestionTypes.map((questionType) => /* @__PURE__ */ jsx21(
|
|
4621
4623
|
Chips_default,
|
|
4622
4624
|
{
|
|
4623
4625
|
selected: selectedTypes.includes(questionType),
|
|
@@ -4628,10 +4630,11 @@ var QuestionTypeFilter = ({
|
|
|
4628
4630
|
)) })
|
|
4629
4631
|
] });
|
|
4630
4632
|
};
|
|
4631
|
-
var
|
|
4633
|
+
var BanksAndYearsFilter = ({
|
|
4632
4634
|
banks,
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
+
bankYears,
|
|
4636
|
+
bankCategories,
|
|
4637
|
+
onBankCategoriesChange,
|
|
4635
4638
|
loading = false,
|
|
4636
4639
|
error = null
|
|
4637
4640
|
}) => {
|
|
@@ -4641,18 +4644,21 @@ var BanksFilter = ({
|
|
|
4641
4644
|
if (error) {
|
|
4642
4645
|
return /* @__PURE__ */ jsx21(Text_default, { size: "sm", className: "text-text-600", children: error });
|
|
4643
4646
|
}
|
|
4644
|
-
if (banks.length === 0) {
|
|
4647
|
+
if (banks.length === 0 && bankYears.length === 0) {
|
|
4645
4648
|
return /* @__PURE__ */ jsx21(Text_default, { size: "sm", className: "text-text-600", children: "Nenhuma banca encontrada" });
|
|
4646
4649
|
}
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4650
|
+
if (bankCategories.length > 0) {
|
|
4651
|
+
return /* @__PURE__ */ jsx21(
|
|
4652
|
+
CheckboxGroup,
|
|
4653
|
+
{
|
|
4654
|
+
categories: bankCategories,
|
|
4655
|
+
onCategoriesChange: onBankCategoriesChange,
|
|
4656
|
+
compactSingleItem: true,
|
|
4657
|
+
showSingleItem: true
|
|
4658
|
+
}
|
|
4659
|
+
);
|
|
4660
|
+
}
|
|
4661
|
+
return null;
|
|
4656
4662
|
};
|
|
4657
4663
|
var SubjectsFilter = ({
|
|
4658
4664
|
knowledgeAreas,
|
|
@@ -4701,38 +4707,10 @@ var SubjectsFilter = ({
|
|
|
4701
4707
|
area.id
|
|
4702
4708
|
)) });
|
|
4703
4709
|
};
|
|
4704
|
-
var KnowledgeSummary = ({
|
|
4705
|
-
knowledgeStructure,
|
|
4706
|
-
selectedKnowledgeSummary
|
|
4707
|
-
}) => {
|
|
4708
|
-
return /* @__PURE__ */ jsxs16("div", { className: "mt-4 p-3 bg-background-50 rounded-lg border border-border-200", children: [
|
|
4709
|
-
/* @__PURE__ */ jsx21(Text_default, { size: "sm", weight: "bold", className: "mb-2 block", children: "Resumo da sele\xE7\xE3o" }),
|
|
4710
|
-
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-2", children: [
|
|
4711
|
-
knowledgeStructure.topics.length === 1 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
4712
|
-
/* @__PURE__ */ jsx21(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Tema:" }),
|
|
4713
|
-
/* @__PURE__ */ jsx21("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.topics.map((topic) => /* @__PURE__ */ jsx21(Chips_default, { selected: true, children: topic }, topic)) })
|
|
4714
|
-
] }),
|
|
4715
|
-
knowledgeStructure.subtopics.length === 1 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
4716
|
-
/* @__PURE__ */ jsx21(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Subtema:" }),
|
|
4717
|
-
/* @__PURE__ */ jsx21("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.subtopics.map((subtopic) => /* @__PURE__ */ jsx21(Chips_default, { selected: true, children: subtopic }, subtopic)) })
|
|
4718
|
-
] }),
|
|
4719
|
-
knowledgeStructure.contents.length === 1 && /* @__PURE__ */ jsxs16("div", { children: [
|
|
4720
|
-
/* @__PURE__ */ jsx21(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Assunto:" }),
|
|
4721
|
-
/* @__PURE__ */ jsx21("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.contents.map((content) => /* @__PURE__ */ jsx21(Chips_default, { selected: true, children: content }, content)) })
|
|
4722
|
-
] })
|
|
4723
|
-
] })
|
|
4724
|
-
] });
|
|
4725
|
-
};
|
|
4726
4710
|
var KnowledgeStructureFilter = ({
|
|
4727
4711
|
knowledgeStructure,
|
|
4728
4712
|
knowledgeCategories,
|
|
4729
|
-
handleCategoriesChange
|
|
4730
|
-
selectedKnowledgeSummary = {
|
|
4731
|
-
topics: [],
|
|
4732
|
-
subtopics: [],
|
|
4733
|
-
contents: []
|
|
4734
|
-
},
|
|
4735
|
-
enableSummary = false
|
|
4713
|
+
handleCategoriesChange
|
|
4736
4714
|
}) => {
|
|
4737
4715
|
return /* @__PURE__ */ jsxs16("div", { className: "mt-4", children: [
|
|
4738
4716
|
/* @__PURE__ */ jsx21(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Tema, Subtema e Assunto" }),
|
|
@@ -4742,17 +4720,12 @@ var KnowledgeStructureFilter = ({
|
|
|
4742
4720
|
CheckboxGroup,
|
|
4743
4721
|
{
|
|
4744
4722
|
categories: knowledgeCategories,
|
|
4745
|
-
onCategoriesChange: handleCategoriesChange
|
|
4723
|
+
onCategoriesChange: handleCategoriesChange,
|
|
4724
|
+
compactSingleItem: false,
|
|
4725
|
+
showSingleItem: true
|
|
4746
4726
|
}
|
|
4747
4727
|
),
|
|
4748
|
-
!knowledgeStructure.loading && knowledgeCategories.length === 0 && knowledgeStructure.topics.length === 0 && /* @__PURE__ */ jsx21(Text_default, { size: "sm", className: "text-text-600", children: "Nenhum tema dispon\xEDvel para as mat\xE9rias selecionadas" })
|
|
4749
|
-
enableSummary && /* @__PURE__ */ jsx21(
|
|
4750
|
-
KnowledgeSummary,
|
|
4751
|
-
{
|
|
4752
|
-
knowledgeStructure,
|
|
4753
|
-
selectedKnowledgeSummary
|
|
4754
|
-
}
|
|
4755
|
-
)
|
|
4728
|
+
!knowledgeStructure.loading && knowledgeCategories.length === 0 && knowledgeStructure.topics.length === 0 && /* @__PURE__ */ jsx21(Text_default, { size: "sm", className: "text-text-600", children: "Nenhum tema dispon\xEDvel para as mat\xE9rias selecionadas" })
|
|
4756
4729
|
] });
|
|
4757
4730
|
};
|
|
4758
4731
|
var FilterActions = ({
|
|
@@ -4772,6 +4745,7 @@ var ActivityFilters = ({
|
|
|
4772
4745
|
variant = "default",
|
|
4773
4746
|
// Data
|
|
4774
4747
|
banks = [],
|
|
4748
|
+
bankYears = [],
|
|
4775
4749
|
knowledgeAreas = [],
|
|
4776
4750
|
knowledgeStructure = {
|
|
4777
4751
|
topics: [],
|
|
@@ -4781,6 +4755,8 @@ var ActivityFilters = ({
|
|
|
4781
4755
|
error: null
|
|
4782
4756
|
},
|
|
4783
4757
|
knowledgeCategories = [],
|
|
4758
|
+
// Question types
|
|
4759
|
+
allowedQuestionTypes,
|
|
4784
4760
|
// Loading states
|
|
4785
4761
|
loadingBanks = false,
|
|
4786
4762
|
loadingKnowledge: _loadingKnowledge = false,
|
|
@@ -4796,19 +4772,47 @@ var ActivityFilters = ({
|
|
|
4796
4772
|
loadContents: _loadContents,
|
|
4797
4773
|
// Handlers
|
|
4798
4774
|
handleCategoriesChange,
|
|
4799
|
-
selectedKnowledgeSummary = {
|
|
4800
|
-
topics: [],
|
|
4801
|
-
subtopics: [],
|
|
4802
|
-
contents: []
|
|
4803
|
-
},
|
|
4804
|
-
enableSummary = false,
|
|
4805
4775
|
// Action buttons
|
|
4806
4776
|
onClearFilters,
|
|
4807
4777
|
onApplyFilters
|
|
4808
4778
|
}) => {
|
|
4809
4779
|
const [selectedQuestionTypes, setSelectedQuestionTypes] = useState9([]);
|
|
4810
|
-
const [selectedBanks, setSelectedBanks] = useState9([]);
|
|
4811
4780
|
const [selectedSubject, setSelectedSubject] = useState9(null);
|
|
4781
|
+
const prevAllowedQuestionTypesRef = useRef6(null);
|
|
4782
|
+
useEffect10(() => {
|
|
4783
|
+
if (!allowedQuestionTypes || allowedQuestionTypes.length === 0) {
|
|
4784
|
+
prevAllowedQuestionTypesRef.current = null;
|
|
4785
|
+
return;
|
|
4786
|
+
}
|
|
4787
|
+
const currentKey = allowedQuestionTypes.slice().sort((a, b) => {
|
|
4788
|
+
return a === b ? 0 : allowedQuestionTypes.indexOf(a) - allowedQuestionTypes.indexOf(b);
|
|
4789
|
+
}).join(",");
|
|
4790
|
+
const prevKey = prevAllowedQuestionTypesRef.current;
|
|
4791
|
+
if (currentKey === prevKey) {
|
|
4792
|
+
return;
|
|
4793
|
+
}
|
|
4794
|
+
prevAllowedQuestionTypesRef.current = currentKey;
|
|
4795
|
+
setSelectedQuestionTypes((prev) => {
|
|
4796
|
+
const filtered = prev.filter(
|
|
4797
|
+
(type) => allowedQuestionTypes.includes(type)
|
|
4798
|
+
);
|
|
4799
|
+
if (filtered.length !== prev.length) {
|
|
4800
|
+
return filtered;
|
|
4801
|
+
}
|
|
4802
|
+
const prevSet = new Set(prev);
|
|
4803
|
+
const filteredSet = new Set(filtered);
|
|
4804
|
+
if (prevSet.size !== filteredSet.size) {
|
|
4805
|
+
return filtered;
|
|
4806
|
+
}
|
|
4807
|
+
for (const item of prevSet) {
|
|
4808
|
+
if (!filteredSet.has(item)) {
|
|
4809
|
+
return filtered;
|
|
4810
|
+
}
|
|
4811
|
+
}
|
|
4812
|
+
return prev;
|
|
4813
|
+
});
|
|
4814
|
+
}, [allowedQuestionTypes]);
|
|
4815
|
+
const [bankCategories, setBankCategories] = useState9([]);
|
|
4812
4816
|
const selectedSubjects = useMemo2(
|
|
4813
4817
|
() => selectedSubject ? [selectedSubject] : [],
|
|
4814
4818
|
[selectedSubject]
|
|
@@ -4816,12 +4820,38 @@ var ActivityFilters = ({
|
|
|
4816
4820
|
const toggleQuestionType = (questionType) => {
|
|
4817
4821
|
setSelectedQuestionTypes((prev) => toggleArrayItem(prev, questionType));
|
|
4818
4822
|
};
|
|
4819
|
-
const toggleBank = (bankName) => {
|
|
4820
|
-
setSelectedBanks((prev) => toggleArrayItem(prev, bankName));
|
|
4821
|
-
};
|
|
4822
4823
|
const handleSubjectChange = (subjectId) => {
|
|
4823
4824
|
setSelectedSubject(toggleSingleValue(selectedSubject, subjectId));
|
|
4824
4825
|
};
|
|
4826
|
+
const handleBankCategoriesChange = (updatedCategories) => {
|
|
4827
|
+
setBankCategories(updatedCategories);
|
|
4828
|
+
};
|
|
4829
|
+
useEffect10(() => {
|
|
4830
|
+
setBankCategories((prevCategories) => {
|
|
4831
|
+
const bankCategory = {
|
|
4832
|
+
key: "banca",
|
|
4833
|
+
label: "Banca",
|
|
4834
|
+
itens: banks.map((bank) => ({
|
|
4835
|
+
id: bank.id,
|
|
4836
|
+
name: bank.name || bank.examInstitution
|
|
4837
|
+
})),
|
|
4838
|
+
selectedIds: prevCategories.find((c) => c.key === "banca")?.selectedIds || []
|
|
4839
|
+
};
|
|
4840
|
+
const yearCategory = {
|
|
4841
|
+
key: "ano",
|
|
4842
|
+
label: "Ano",
|
|
4843
|
+
dependsOn: ["banca"],
|
|
4844
|
+
itens: bankYears.map((year) => ({
|
|
4845
|
+
id: year.id,
|
|
4846
|
+
name: year.name,
|
|
4847
|
+
bankId: year.bankId
|
|
4848
|
+
})),
|
|
4849
|
+
filteredBy: [{ key: "banca", internalField: "bankId" }],
|
|
4850
|
+
selectedIds: prevCategories.find((c) => c.key === "ano")?.selectedIds || []
|
|
4851
|
+
};
|
|
4852
|
+
return [bankCategory, yearCategory];
|
|
4853
|
+
});
|
|
4854
|
+
}, [banks, bankYears]);
|
|
4825
4855
|
useEffect10(() => {
|
|
4826
4856
|
if (loadBanks) {
|
|
4827
4857
|
loadBanks();
|
|
@@ -4842,24 +4872,36 @@ var ActivityFilters = ({
|
|
|
4842
4872
|
contentIds: "assunto"
|
|
4843
4873
|
});
|
|
4844
4874
|
}, [knowledgeCategories]);
|
|
4875
|
+
const getSelectedBankIds = useCallback(() => {
|
|
4876
|
+
return getSelectedIdsFromCategories(bankCategories, {
|
|
4877
|
+
bankIds: "banca",
|
|
4878
|
+
yearIds: "ano"
|
|
4879
|
+
});
|
|
4880
|
+
}, [bankCategories]);
|
|
4881
|
+
const onFiltersChangeRef = useRef6(onFiltersChange);
|
|
4882
|
+
useEffect10(() => {
|
|
4883
|
+
onFiltersChangeRef.current = onFiltersChange;
|
|
4884
|
+
}, [onFiltersChange]);
|
|
4845
4885
|
useEffect10(() => {
|
|
4846
4886
|
const knowledgeIds = getSelectedKnowledgeIds();
|
|
4887
|
+
const bankIds = getSelectedBankIds();
|
|
4847
4888
|
const filters = {
|
|
4848
4889
|
types: selectedQuestionTypes,
|
|
4849
|
-
bankIds:
|
|
4890
|
+
bankIds: bankIds.bankIds || [],
|
|
4891
|
+
yearIds: bankIds.yearIds || [],
|
|
4850
4892
|
knowledgeIds: selectedSubjects,
|
|
4851
4893
|
topicIds: knowledgeIds.topicIds,
|
|
4852
4894
|
subtopicIds: knowledgeIds.subtopicIds,
|
|
4853
4895
|
contentIds: knowledgeIds.contentIds
|
|
4854
4896
|
};
|
|
4855
|
-
|
|
4897
|
+
onFiltersChangeRef.current(filters);
|
|
4856
4898
|
}, [
|
|
4857
4899
|
selectedQuestionTypes,
|
|
4858
|
-
selectedBanks,
|
|
4859
4900
|
selectedSubjects,
|
|
4860
4901
|
knowledgeCategories,
|
|
4902
|
+
bankCategories,
|
|
4861
4903
|
getSelectedKnowledgeIds,
|
|
4862
|
-
|
|
4904
|
+
getSelectedBankIds
|
|
4863
4905
|
]);
|
|
4864
4906
|
const containerClassName = variant === "popover" ? "w-full bg-background" : "w-[400px] flex-shrink-0 p-4 bg-background";
|
|
4865
4907
|
const contentClassName = variant === "popover" ? "p-4" : "";
|
|
@@ -4870,17 +4912,19 @@ var ActivityFilters = ({
|
|
|
4870
4912
|
QuestionTypeFilter,
|
|
4871
4913
|
{
|
|
4872
4914
|
selectedTypes: selectedQuestionTypes,
|
|
4873
|
-
onToggleType: toggleQuestionType
|
|
4915
|
+
onToggleType: toggleQuestionType,
|
|
4916
|
+
allowedQuestionTypes
|
|
4874
4917
|
}
|
|
4875
4918
|
),
|
|
4876
4919
|
/* @__PURE__ */ jsxs16("div", { children: [
|
|
4877
4920
|
/* @__PURE__ */ jsx21(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Banca de vestibular" }),
|
|
4878
4921
|
/* @__PURE__ */ jsx21(
|
|
4879
|
-
|
|
4922
|
+
BanksAndYearsFilter,
|
|
4880
4923
|
{
|
|
4881
4924
|
banks,
|
|
4882
|
-
|
|
4883
|
-
|
|
4925
|
+
bankYears,
|
|
4926
|
+
bankCategories,
|
|
4927
|
+
onBankCategoriesChange: handleBankCategoriesChange,
|
|
4884
4928
|
loading: loadingBanks,
|
|
4885
4929
|
error: banksError
|
|
4886
4930
|
}
|
|
@@ -4904,9 +4948,7 @@ var ActivityFilters = ({
|
|
|
4904
4948
|
{
|
|
4905
4949
|
knowledgeStructure,
|
|
4906
4950
|
knowledgeCategories,
|
|
4907
|
-
handleCategoriesChange
|
|
4908
|
-
selectedKnowledgeSummary,
|
|
4909
|
-
enableSummary
|
|
4951
|
+
handleCategoriesChange
|
|
4910
4952
|
}
|
|
4911
4953
|
),
|
|
4912
4954
|
/* @__PURE__ */ jsx21(
|