eleven-solutions-common-website-unique-web 6.0.38 → 6.0.39
Sign up to get free protection for your applications and to get access to all the features.
@@ -46,13 +46,24 @@ const TaxonomyForm = () => {
|
|
46
46
|
});
|
47
47
|
fetchAllTaxonomies();
|
48
48
|
}, []);
|
49
|
-
// Fetch child taxonomies for a parentId
|
50
49
|
const toggleRowExpansion = (taxonomyId) => {
|
51
50
|
setExpandedRows((prevExpandedRows) => prevExpandedRows.indexOf(taxonomyId) !== -1
|
52
|
-
? prevExpandedRows.filter((id) => id !== taxonomyId)
|
53
|
-
: [...prevExpandedRows, taxonomyId]
|
54
|
-
);
|
51
|
+
? prevExpandedRows.filter((id) => id !== taxonomyId)
|
52
|
+
: [...prevExpandedRows, taxonomyId]);
|
55
53
|
};
|
54
|
+
const handleDeleteSubTypeClick = (id) => __awaiter(void 0, void 0, void 0, function* () {
|
55
|
+
try {
|
56
|
+
yield deleteTaxonomyApi(id);
|
57
|
+
alert("Taxonomy deleted successfully");
|
58
|
+
const fetchedTaxonomies = yield fetchTaxonomiessApi();
|
59
|
+
if (fetchedTaxonomies && Array.isArray(fetchedTaxonomies)) {
|
60
|
+
setAllTaxonomies(fetchedTaxonomies);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
catch (error) {
|
64
|
+
console.error("Error deleting Taxonomy:", error);
|
65
|
+
}
|
66
|
+
});
|
56
67
|
const [editTaxonomyItem, setEditTaxonomyItem] = useState(null);
|
57
68
|
const [editTempTaxonomyItem, setEditTempTaxonomyItem] = useState(null);
|
58
69
|
const [selectedTaxonomyId, setSelectedTaxonomyId] = useState("");
|
@@ -306,7 +317,9 @@ const TaxonomyForm = () => {
|
|
306
317
|
const hasChildren = allTaxonomies.some((item) => item.parentId === taxonomy.id);
|
307
318
|
return (_jsxs(React.Fragment, { children: [_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () => handleDeleteClick(taxonomy.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" }) }) }), _jsx("button", { type: "button", onClick: () => handleEditClick(index, taxonomy.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) }), _jsx("button", { type: "button", onClick: () => handleAddSubType(index, taxonomy.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-blue-500 dark:text-gray-300 hover:text-blue-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) }) })] }) }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: taxonomy.code }), _jsx("td", { className: "px-4 py-4 text-sm font-medium text-gray-900 dark:text-white", children: _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { children: taxonomy.value }), hasChildren && (_jsx("button", { type: "button", onClick: () => toggleRowExpansion(taxonomy.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-blue-600 dark:text-gray-300 hover:text-blue-500 focus:outline-none", children: expandedRows.indexOf(taxonomy.id) !== -1 ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) })) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 15.75l-7.5-7.5-7.5 7.5" }) })) }))] }) })] }, index), expandedRows.indexOf(taxonomy.id) !== -1 && (_jsx("tr", { children: _jsx("td", { colSpan: 3, children: _jsxs("table", { className: "min-w-full divide-y ", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [_jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Actions" }), _jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Sub Type" }), _jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Code" }), _jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Value" })] }) }), _jsx("tbody", { children: allTaxonomies
|
308
319
|
.filter((item) => item.parentId === taxonomy.id)
|
309
|
-
.map((child) => (_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () =>
|
320
|
+
.map((child) => (_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () =>
|
321
|
+
// handleDeleteClick(child.id)
|
322
|
+
handleDeleteSubTypeClick(child.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" }) }) }), _jsx("button", { type: "button", onClick: () => handleSubEdit(index, child.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) })] }) }), _jsx("td", { className: "px-4 py-4 text-sm font-medium text-gray-900 dark:text-white", children: child.type }), _jsx("td", { className: "px-4 py-2 text-sm text-gray-500 dark:text-gray-400", children: child.code }), _jsx("td", { className: "px-4 py-4 text-sm font-medium text-gray-900 dark:text-white", children: child.value })] }, child.id))) })] }) }) }))] }, taxonomy.id));
|
310
323
|
}) })] }) }), similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("div", { className: "flex space-x-4 mt-6 justify-start", children: _jsxs("button", { type: "button", onClick: handleOpenModal, className: "flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80", children: [_jsx(FaPlus, { className: "mr-2 font-medium" }), "Add Multiple Values"] }) }))] })), isEditMode && (_jsx(_Fragment, { children: tempTaxonomy.length > 0 && (_jsxs("div", { className: "flex-grow ml-0 mt-4 w-full", children: [_jsx("div", { className: "overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6", children: _jsxs("table", { className: "min-w-full divide-y divide-gray-200 dark:divide-gray-700", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [_jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Edit/Delete" }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left text-gray-500 dark:text-gray-400", children: "Code" }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left text-gray-500 dark:text-gray-400", children: "Value" })] }) }), _jsx("tbody", { className: "bg-white divide-y divide-gray-200 dark:bg-gray-800 dark:divide-gray-700", children: [...tempTaxonomy].map((item, index) => (_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () => {
|
311
324
|
const newTempTaxonomy = [...tempTaxonomy];
|
312
325
|
newTempTaxonomy.splice(index, 1);
|
package/package.json
CHANGED
@@ -56,17 +56,27 @@ const TaxonomyForm = () => {
|
|
56
56
|
fetchAllTaxonomies();
|
57
57
|
}, []);
|
58
58
|
|
59
|
-
// Fetch child taxonomies for a parentId
|
60
|
-
|
61
59
|
const toggleRowExpansion = (taxonomyId: number) => {
|
62
|
-
setExpandedRows(
|
63
|
-
(
|
64
|
-
prevExpandedRows.
|
65
|
-
|
66
|
-
: [...prevExpandedRows, taxonomyId] // Expand row
|
60
|
+
setExpandedRows((prevExpandedRows) =>
|
61
|
+
prevExpandedRows.indexOf(taxonomyId) !== -1
|
62
|
+
? prevExpandedRows.filter((id) => id !== taxonomyId)
|
63
|
+
: [...prevExpandedRows, taxonomyId]
|
67
64
|
);
|
68
65
|
};
|
69
66
|
|
67
|
+
const handleDeleteSubTypeClick = async (id: string) => {
|
68
|
+
try {
|
69
|
+
await deleteTaxonomyApi(id);
|
70
|
+
alert("Taxonomy deleted successfully");
|
71
|
+
const fetchedTaxonomies = await fetchTaxonomiessApi();
|
72
|
+
if (fetchedTaxonomies && Array.isArray(fetchedTaxonomies)) {
|
73
|
+
setAllTaxonomies(fetchedTaxonomies);
|
74
|
+
}
|
75
|
+
} catch (error) {
|
76
|
+
console.error("Error deleting Taxonomy:", error);
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
70
80
|
const [editTaxonomyItem, setEditTaxonomyItem] = useState<{
|
71
81
|
id: string;
|
72
82
|
type: string;
|
@@ -645,10 +655,7 @@ const TaxonomyForm = () => {
|
|
645
655
|
{/* Nested Table */}
|
646
656
|
{expandedRows.indexOf(taxonomy.id) !== -1 && (
|
647
657
|
<tr>
|
648
|
-
<td
|
649
|
-
colSpan={3}
|
650
|
-
// className="bg-gray-100 dark:bg-gray-900"
|
651
|
-
>
|
658
|
+
<td colSpan={3}>
|
652
659
|
<table className="min-w-full divide-y ">
|
653
660
|
<thead className="bg-gray-50 dark:bg-gray-800">
|
654
661
|
<tr>
|
@@ -678,7 +685,10 @@ const TaxonomyForm = () => {
|
|
678
685
|
<button
|
679
686
|
type="button"
|
680
687
|
onClick={() =>
|
681
|
-
handleDeleteClick(child.id)
|
688
|
+
// handleDeleteClick(child.id)
|
689
|
+
handleDeleteSubTypeClick(
|
690
|
+
child.id
|
691
|
+
)
|
682
692
|
}
|
683
693
|
className="text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none"
|
684
694
|
>
|