analytica-frontend-lib 1.2.30 → 1.2.31
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.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
package/dist/index.js
CHANGED
|
@@ -11573,11 +11573,13 @@ var questionTypes = [
|
|
|
11573
11573
|
];
|
|
11574
11574
|
var QuestionTypeFilter = ({
|
|
11575
11575
|
selectedTypes,
|
|
11576
|
-
onToggleType
|
|
11576
|
+
onToggleType,
|
|
11577
|
+
allowedQuestionTypes
|
|
11577
11578
|
}) => {
|
|
11579
|
+
const availableQuestionTypes = allowedQuestionTypes || questionTypes;
|
|
11578
11580
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { children: [
|
|
11579
11581
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Tipo de quest\xE3o" }),
|
|
11580
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "grid grid-cols-2 gap-2", children:
|
|
11582
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "grid grid-cols-2 gap-2", children: availableQuestionTypes.map((questionType) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11581
11583
|
Chips_default,
|
|
11582
11584
|
{
|
|
11583
11585
|
selected: selectedTypes.includes(questionType),
|
|
@@ -11588,10 +11590,11 @@ var QuestionTypeFilter = ({
|
|
|
11588
11590
|
)) })
|
|
11589
11591
|
] });
|
|
11590
11592
|
};
|
|
11591
|
-
var
|
|
11593
|
+
var BanksAndYearsFilter = ({
|
|
11592
11594
|
banks,
|
|
11593
|
-
|
|
11594
|
-
|
|
11595
|
+
bankYears,
|
|
11596
|
+
bankCategories,
|
|
11597
|
+
onBankCategoriesChange,
|
|
11595
11598
|
loading = false,
|
|
11596
11599
|
error = null
|
|
11597
11600
|
}) => {
|
|
@@ -11601,18 +11604,21 @@ var BanksFilter = ({
|
|
|
11601
11604
|
if (error) {
|
|
11602
11605
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", className: "text-text-600", children: error });
|
|
11603
11606
|
}
|
|
11604
|
-
if (banks.length === 0) {
|
|
11607
|
+
if (banks.length === 0 && bankYears.length === 0) {
|
|
11605
11608
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", className: "text-text-600", children: "Nenhuma banca encontrada" });
|
|
11606
11609
|
}
|
|
11607
|
-
|
|
11608
|
-
|
|
11609
|
-
|
|
11610
|
-
|
|
11611
|
-
|
|
11612
|
-
|
|
11613
|
-
|
|
11614
|
-
|
|
11615
|
-
|
|
11610
|
+
if (bankCategories.length > 0) {
|
|
11611
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11612
|
+
CheckboxGroup,
|
|
11613
|
+
{
|
|
11614
|
+
categories: bankCategories,
|
|
11615
|
+
onCategoriesChange: onBankCategoriesChange,
|
|
11616
|
+
compactSingleItem: true,
|
|
11617
|
+
showSingleItem: true
|
|
11618
|
+
}
|
|
11619
|
+
);
|
|
11620
|
+
}
|
|
11621
|
+
return null;
|
|
11616
11622
|
};
|
|
11617
11623
|
var SubjectsFilter = ({
|
|
11618
11624
|
knowledgeAreas,
|
|
@@ -11661,38 +11667,10 @@ var SubjectsFilter = ({
|
|
|
11661
11667
|
area.id
|
|
11662
11668
|
)) });
|
|
11663
11669
|
};
|
|
11664
|
-
var KnowledgeSummary = ({
|
|
11665
|
-
knowledgeStructure,
|
|
11666
|
-
selectedKnowledgeSummary
|
|
11667
|
-
}) => {
|
|
11668
|
-
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "mt-4 p-3 bg-background-50 rounded-lg border border-border-200", children: [
|
|
11669
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", weight: "bold", className: "mb-2 block", children: "Resumo da sele\xE7\xE3o" }),
|
|
11670
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
11671
|
-
knowledgeStructure.topics.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { children: [
|
|
11672
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Tema:" }),
|
|
11673
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.topics.map((topic) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Chips_default, { selected: true, children: topic }, topic)) })
|
|
11674
|
-
] }),
|
|
11675
|
-
knowledgeStructure.subtopics.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { children: [
|
|
11676
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Subtema:" }),
|
|
11677
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.subtopics.map((subtopic) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Chips_default, { selected: true, children: subtopic }, subtopic)) })
|
|
11678
|
-
] }),
|
|
11679
|
-
knowledgeStructure.contents.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { children: [
|
|
11680
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "xs", weight: "medium", className: "text-text-600", children: "Assunto:" }),
|
|
11681
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex flex-wrap gap-1 mt-1", children: selectedKnowledgeSummary.contents.map((content) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Chips_default, { selected: true, children: content }, content)) })
|
|
11682
|
-
] })
|
|
11683
|
-
] })
|
|
11684
|
-
] });
|
|
11685
|
-
};
|
|
11686
11670
|
var KnowledgeStructureFilter = ({
|
|
11687
11671
|
knowledgeStructure,
|
|
11688
11672
|
knowledgeCategories,
|
|
11689
|
-
handleCategoriesChange
|
|
11690
|
-
selectedKnowledgeSummary = {
|
|
11691
|
-
topics: [],
|
|
11692
|
-
subtopics: [],
|
|
11693
|
-
contents: []
|
|
11694
|
-
},
|
|
11695
|
-
enableSummary = false
|
|
11673
|
+
handleCategoriesChange
|
|
11696
11674
|
}) => {
|
|
11697
11675
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "mt-4", children: [
|
|
11698
11676
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Tema, Subtema e Assunto" }),
|
|
@@ -11702,17 +11680,12 @@ var KnowledgeStructureFilter = ({
|
|
|
11702
11680
|
CheckboxGroup,
|
|
11703
11681
|
{
|
|
11704
11682
|
categories: knowledgeCategories,
|
|
11705
|
-
onCategoriesChange: handleCategoriesChange
|
|
11683
|
+
onCategoriesChange: handleCategoriesChange,
|
|
11684
|
+
compactSingleItem: false,
|
|
11685
|
+
showSingleItem: true
|
|
11706
11686
|
}
|
|
11707
11687
|
),
|
|
11708
|
-
!knowledgeStructure.loading && knowledgeCategories.length === 0 && knowledgeStructure.topics.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", className: "text-text-600", children: "Nenhum tema dispon\xEDvel para as mat\xE9rias selecionadas" })
|
|
11709
|
-
enableSummary && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11710
|
-
KnowledgeSummary,
|
|
11711
|
-
{
|
|
11712
|
-
knowledgeStructure,
|
|
11713
|
-
selectedKnowledgeSummary
|
|
11714
|
-
}
|
|
11715
|
-
)
|
|
11688
|
+
!knowledgeStructure.loading && knowledgeCategories.length === 0 && knowledgeStructure.topics.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", className: "text-text-600", children: "Nenhum tema dispon\xEDvel para as mat\xE9rias selecionadas" })
|
|
11716
11689
|
] });
|
|
11717
11690
|
};
|
|
11718
11691
|
var FilterActions = ({
|
|
@@ -11732,6 +11705,7 @@ var ActivityFilters = ({
|
|
|
11732
11705
|
variant = "default",
|
|
11733
11706
|
// Data
|
|
11734
11707
|
banks = [],
|
|
11708
|
+
bankYears = [],
|
|
11735
11709
|
knowledgeAreas = [],
|
|
11736
11710
|
knowledgeStructure = {
|
|
11737
11711
|
topics: [],
|
|
@@ -11741,6 +11715,8 @@ var ActivityFilters = ({
|
|
|
11741
11715
|
error: null
|
|
11742
11716
|
},
|
|
11743
11717
|
knowledgeCategories = [],
|
|
11718
|
+
// Question types
|
|
11719
|
+
allowedQuestionTypes,
|
|
11744
11720
|
// Loading states
|
|
11745
11721
|
loadingBanks = false,
|
|
11746
11722
|
loadingKnowledge: _loadingKnowledge = false,
|
|
@@ -11756,19 +11732,47 @@ var ActivityFilters = ({
|
|
|
11756
11732
|
loadContents: _loadContents,
|
|
11757
11733
|
// Handlers
|
|
11758
11734
|
handleCategoriesChange,
|
|
11759
|
-
selectedKnowledgeSummary = {
|
|
11760
|
-
topics: [],
|
|
11761
|
-
subtopics: [],
|
|
11762
|
-
contents: []
|
|
11763
|
-
},
|
|
11764
|
-
enableSummary = false,
|
|
11765
11735
|
// Action buttons
|
|
11766
11736
|
onClearFilters,
|
|
11767
11737
|
onApplyFilters
|
|
11768
11738
|
}) => {
|
|
11769
11739
|
const [selectedQuestionTypes, setSelectedQuestionTypes] = (0, import_react36.useState)([]);
|
|
11770
|
-
const [selectedBanks, setSelectedBanks] = (0, import_react36.useState)([]);
|
|
11771
11740
|
const [selectedSubject, setSelectedSubject] = (0, import_react36.useState)(null);
|
|
11741
|
+
const prevAllowedQuestionTypesRef = (0, import_react36.useRef)(null);
|
|
11742
|
+
(0, import_react36.useEffect)(() => {
|
|
11743
|
+
if (!allowedQuestionTypes || allowedQuestionTypes.length === 0) {
|
|
11744
|
+
prevAllowedQuestionTypesRef.current = null;
|
|
11745
|
+
return;
|
|
11746
|
+
}
|
|
11747
|
+
const currentKey = allowedQuestionTypes.slice().sort((a, b) => {
|
|
11748
|
+
return a === b ? 0 : allowedQuestionTypes.indexOf(a) - allowedQuestionTypes.indexOf(b);
|
|
11749
|
+
}).join(",");
|
|
11750
|
+
const prevKey = prevAllowedQuestionTypesRef.current;
|
|
11751
|
+
if (currentKey === prevKey) {
|
|
11752
|
+
return;
|
|
11753
|
+
}
|
|
11754
|
+
prevAllowedQuestionTypesRef.current = currentKey;
|
|
11755
|
+
setSelectedQuestionTypes((prev) => {
|
|
11756
|
+
const filtered = prev.filter(
|
|
11757
|
+
(type) => allowedQuestionTypes.includes(type)
|
|
11758
|
+
);
|
|
11759
|
+
if (filtered.length !== prev.length) {
|
|
11760
|
+
return filtered;
|
|
11761
|
+
}
|
|
11762
|
+
const prevSet = new Set(prev);
|
|
11763
|
+
const filteredSet = new Set(filtered);
|
|
11764
|
+
if (prevSet.size !== filteredSet.size) {
|
|
11765
|
+
return filtered;
|
|
11766
|
+
}
|
|
11767
|
+
for (const item of prevSet) {
|
|
11768
|
+
if (!filteredSet.has(item)) {
|
|
11769
|
+
return filtered;
|
|
11770
|
+
}
|
|
11771
|
+
}
|
|
11772
|
+
return prev;
|
|
11773
|
+
});
|
|
11774
|
+
}, [allowedQuestionTypes]);
|
|
11775
|
+
const [bankCategories, setBankCategories] = (0, import_react36.useState)([]);
|
|
11772
11776
|
const selectedSubjects = (0, import_react36.useMemo)(
|
|
11773
11777
|
() => selectedSubject ? [selectedSubject] : [],
|
|
11774
11778
|
[selectedSubject]
|
|
@@ -11776,12 +11780,38 @@ var ActivityFilters = ({
|
|
|
11776
11780
|
const toggleQuestionType = (questionType) => {
|
|
11777
11781
|
setSelectedQuestionTypes((prev) => toggleArrayItem(prev, questionType));
|
|
11778
11782
|
};
|
|
11779
|
-
const toggleBank = (bankName) => {
|
|
11780
|
-
setSelectedBanks((prev) => toggleArrayItem(prev, bankName));
|
|
11781
|
-
};
|
|
11782
11783
|
const handleSubjectChange = (subjectId) => {
|
|
11783
11784
|
setSelectedSubject(toggleSingleValue(selectedSubject, subjectId));
|
|
11784
11785
|
};
|
|
11786
|
+
const handleBankCategoriesChange = (updatedCategories) => {
|
|
11787
|
+
setBankCategories(updatedCategories);
|
|
11788
|
+
};
|
|
11789
|
+
(0, import_react36.useEffect)(() => {
|
|
11790
|
+
setBankCategories((prevCategories) => {
|
|
11791
|
+
const bankCategory = {
|
|
11792
|
+
key: "banca",
|
|
11793
|
+
label: "Banca",
|
|
11794
|
+
itens: banks.map((bank) => ({
|
|
11795
|
+
id: bank.id,
|
|
11796
|
+
name: bank.name || bank.examInstitution
|
|
11797
|
+
})),
|
|
11798
|
+
selectedIds: prevCategories.find((c) => c.key === "banca")?.selectedIds || []
|
|
11799
|
+
};
|
|
11800
|
+
const yearCategory = {
|
|
11801
|
+
key: "ano",
|
|
11802
|
+
label: "Ano",
|
|
11803
|
+
dependsOn: ["banca"],
|
|
11804
|
+
itens: bankYears.map((year) => ({
|
|
11805
|
+
id: year.id,
|
|
11806
|
+
name: year.name,
|
|
11807
|
+
bankId: year.bankId
|
|
11808
|
+
})),
|
|
11809
|
+
filteredBy: [{ key: "banca", internalField: "bankId" }],
|
|
11810
|
+
selectedIds: prevCategories.find((c) => c.key === "ano")?.selectedIds || []
|
|
11811
|
+
};
|
|
11812
|
+
return [bankCategory, yearCategory];
|
|
11813
|
+
});
|
|
11814
|
+
}, [banks, bankYears]);
|
|
11785
11815
|
(0, import_react36.useEffect)(() => {
|
|
11786
11816
|
if (loadBanks) {
|
|
11787
11817
|
loadBanks();
|
|
@@ -11802,24 +11832,36 @@ var ActivityFilters = ({
|
|
|
11802
11832
|
contentIds: "assunto"
|
|
11803
11833
|
});
|
|
11804
11834
|
}, [knowledgeCategories]);
|
|
11835
|
+
const getSelectedBankIds = (0, import_react36.useCallback)(() => {
|
|
11836
|
+
return getSelectedIdsFromCategories(bankCategories, {
|
|
11837
|
+
bankIds: "banca",
|
|
11838
|
+
yearIds: "ano"
|
|
11839
|
+
});
|
|
11840
|
+
}, [bankCategories]);
|
|
11841
|
+
const onFiltersChangeRef = (0, import_react36.useRef)(onFiltersChange);
|
|
11842
|
+
(0, import_react36.useEffect)(() => {
|
|
11843
|
+
onFiltersChangeRef.current = onFiltersChange;
|
|
11844
|
+
}, [onFiltersChange]);
|
|
11805
11845
|
(0, import_react36.useEffect)(() => {
|
|
11806
11846
|
const knowledgeIds = getSelectedKnowledgeIds();
|
|
11847
|
+
const bankIds = getSelectedBankIds();
|
|
11807
11848
|
const filters = {
|
|
11808
11849
|
types: selectedQuestionTypes,
|
|
11809
|
-
bankIds:
|
|
11850
|
+
bankIds: bankIds.bankIds || [],
|
|
11851
|
+
yearIds: bankIds.yearIds || [],
|
|
11810
11852
|
knowledgeIds: selectedSubjects,
|
|
11811
11853
|
topicIds: knowledgeIds.topicIds,
|
|
11812
11854
|
subtopicIds: knowledgeIds.subtopicIds,
|
|
11813
11855
|
contentIds: knowledgeIds.contentIds
|
|
11814
11856
|
};
|
|
11815
|
-
|
|
11857
|
+
onFiltersChangeRef.current(filters);
|
|
11816
11858
|
}, [
|
|
11817
11859
|
selectedQuestionTypes,
|
|
11818
|
-
selectedBanks,
|
|
11819
11860
|
selectedSubjects,
|
|
11820
11861
|
knowledgeCategories,
|
|
11862
|
+
bankCategories,
|
|
11821
11863
|
getSelectedKnowledgeIds,
|
|
11822
|
-
|
|
11864
|
+
getSelectedBankIds
|
|
11823
11865
|
]);
|
|
11824
11866
|
const containerClassName = variant === "popover" ? "w-full bg-background" : "w-[400px] flex-shrink-0 p-4 bg-background";
|
|
11825
11867
|
const contentClassName = variant === "popover" ? "p-4" : "";
|
|
@@ -11830,17 +11872,19 @@ var ActivityFilters = ({
|
|
|
11830
11872
|
QuestionTypeFilter,
|
|
11831
11873
|
{
|
|
11832
11874
|
selectedTypes: selectedQuestionTypes,
|
|
11833
|
-
onToggleType: toggleQuestionType
|
|
11875
|
+
onToggleType: toggleQuestionType,
|
|
11876
|
+
allowedQuestionTypes
|
|
11834
11877
|
}
|
|
11835
11878
|
),
|
|
11836
11879
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { children: [
|
|
11837
11880
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Text_default, { size: "sm", weight: "bold", className: "mb-3 block", children: "Banca de vestibular" }),
|
|
11838
11881
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11839
|
-
|
|
11882
|
+
BanksAndYearsFilter,
|
|
11840
11883
|
{
|
|
11841
11884
|
banks,
|
|
11842
|
-
|
|
11843
|
-
|
|
11885
|
+
bankYears,
|
|
11886
|
+
bankCategories,
|
|
11887
|
+
onBankCategoriesChange: handleBankCategoriesChange,
|
|
11844
11888
|
loading: loadingBanks,
|
|
11845
11889
|
error: banksError
|
|
11846
11890
|
}
|
|
@@ -11864,9 +11908,7 @@ var ActivityFilters = ({
|
|
|
11864
11908
|
{
|
|
11865
11909
|
knowledgeStructure,
|
|
11866
11910
|
knowledgeCategories,
|
|
11867
|
-
handleCategoriesChange
|
|
11868
|
-
selectedKnowledgeSummary,
|
|
11869
|
-
enableSummary
|
|
11911
|
+
handleCategoriesChange
|
|
11870
11912
|
}
|
|
11871
11913
|
),
|
|
11872
11914
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|