eleven-solutions-common-website-unique-web 19.0.13 → 19.0.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -258,10 +258,10 @@ const TaxonomyForm = ({ url }) => {
258
258
  setSimilarTaxonomies(filteredTaxonomies);
259
259
  });
260
260
  const handleSaveClick = () => __awaiter(void 0, void 0, void 0, function* () {
261
- // if (tempTaxonomy.length === 0) {
262
- // alert("No taxonomies to add.");
263
- // return;
264
- // }
261
+ if (tempTaxonomy.length === 0) {
262
+ alert("No taxonomies to add.");
263
+ return;
264
+ }
265
265
  try {
266
266
  yield addMultipleTaxonomiesApi(url, tempTaxonomy);
267
267
  setTempTaxonomy([]);
@@ -275,6 +275,22 @@ const TaxonomyForm = ({ url }) => {
275
275
  alert("Failed to add multiple taxonomies");
276
276
  }
277
277
  });
278
+ const addTaxonomyClick = () => __awaiter(void 0, void 0, void 0, function* () {
279
+ try {
280
+ yield addTaxonomyApi(url, type, Number(newCode), newValue);
281
+ alert("Value added successfully");
282
+ const fetchedTaxonomies = yield fetchTaxonomiessApi(url);
283
+ if (fetchedTaxonomies && Array.isArray(fetchedTaxonomies)) {
284
+ setAllTaxonomies(fetchedTaxonomies);
285
+ }
286
+ }
287
+ catch (error) {
288
+ console.error("Error adding value:", error);
289
+ }
290
+ setIsModalOpen(false);
291
+ setNewCode("");
292
+ setNewValue("");
293
+ });
278
294
  const handleDeleteClick = (id) => __awaiter(void 0, void 0, void 0, function* () {
279
295
  try {
280
296
  yield deleteTaxonomyApi(url, id);
@@ -285,7 +301,8 @@ const TaxonomyForm = ({ url }) => {
285
301
  console.error("Error deleting Taxonomy:", error);
286
302
  }
287
303
  });
288
- return (_jsxs("div", { className: `${isEditMode ? "w-full" : "max-w-4xl"} p-6 mx-auto dark:bg-gray-800`, children: [_jsxs("div", { className: `transition duration-300 ${isModalOpen ? "filter blur-sm" : ""}`, children: [_jsx("h1", { className: "text-3xl font-bold text-center text-blue-600 capitalize dark:text-white mb-4", children: isEditMode ? "Edit Taxonomy" : "Add Taxonomy" }), _jsx("h1", { className: "text-2xl text-blue-600 capitalize dark:text-white mb-4", children: isEditMode ? `Taxonomy Type: ${type}` : "" }), isSimilarTaxonomyOpen && isEditMode && (_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", style: { width: "200px" }, 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: "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", { className: "divide-y divide-gray-200", children: similarTaxonomies.map((taxonomy, index) => {
304
+ const parentTaxonomies = similarTaxonomies.filter((taxonomy) => !taxonomy.parentId);
305
+ return (_jsxs("div", { className: `${isEditMode ? "w-full" : "max-w-4xl"} p-6 mx-auto dark:bg-gray-800`, children: [_jsxs("div", { className: `transition duration-300 ${isModalOpen ? "filter blur-sm" : ""}`, children: [_jsx("h1", { className: "text-3xl font-bold text-center text-blue-600 capitalize dark:text-white mb-4", children: isEditMode ? "Edit Taxonomy" : "Add Taxonomy" }), _jsx("h1", { className: "text-2xl text-blue-600 capitalize dark:text-white mb-4", children: isEditMode ? `Taxonomy Type: ${type}` : "" }), isSimilarTaxonomyOpen && isEditMode && (_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", style: { width: "200px" }, 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: "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", { className: "divide-y divide-gray-200", children: parentTaxonomies.map((taxonomy, index) => {
289
306
  const hasChildren = allTaxonomies.some((item) => item.parentId === taxonomy.id);
290
307
  return (_jsxs(React.Fragment, { children: [_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: taxonomy.isEdit && (_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: [similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_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", style: { width: "200px" }, children: "Actions" })), _jsx("th", { scope: "col", style: { width: "350px" }, className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400 w-[23%]", 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
291
308
  .filter((item) => item.parentId === taxonomy.id)
@@ -300,6 +317,6 @@ const TaxonomyForm = ({ url }) => {
300
317
  ? handleSubTypeEditClick
301
318
  : handleSubTypeAddClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: editTaxonomyItem ? "Edit SubType" : "Add SubType" }), _jsx("button", { onClick: handleCloseModal, className: "px-8 py-2.5 leading-5 bg-gray-300 rounded-md", children: "Cancel" })] })] })) : (_jsxs(_Fragment, { children: [_jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Code" }), _jsx("input", { type: "number", value: newCode, onChange: (e) => setNewCode(e.target.value), placeholder: "Enter Code", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" }), _jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Value" }), _jsx("input", { type: "text", value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: "Enter Value", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" }), _jsxs("div", { className: "flex space-x-4 justify-end", children: [_jsx("button", { onClick:
302
319
  // editTaxonomyItem ? handleEditTaxClick : handleAddClick
303
- editTaxonomyItem ? handleEditTaxClick : handleSaveClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: editTaxonomyItem || editTempTaxonomyItem ? "Edit" : "Add" }), _jsx("button", { onClick: handleCloseModal, className: "px-8 py-2.5 leading-5 bg-gray-300 rounded-md", children: "Cancel" })] })] }))] }) })] }));
320
+ editTaxonomyItem ? handleEditTaxClick : addTaxonomyClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: editTaxonomyItem || editTempTaxonomyItem ? "Edit" : "Add" }), _jsx("button", { onClick: handleCloseModal, className: "px-8 py-2.5 leading-5 bg-gray-300 rounded-md", children: "Cancel" })] })] }))] }) })] }));
304
321
  };
305
322
  export default TaxonomyForm;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eleven-solutions-common-website-unique-web",
3
- "version": "19.0.13",
3
+ "version": "19.0.15",
4
4
  "main": "./dist/index.js",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -341,10 +341,10 @@ const TaxonomyForm = ({ url }: TaxionomyFormProps) => {
341
341
  };
342
342
 
343
343
  const handleSaveClick = async () => {
344
- // if (tempTaxonomy.length === 0) {
345
- // alert("No taxonomies to add.");
346
- // return;
347
- // }
344
+ if (tempTaxonomy.length === 0) {
345
+ alert("No taxonomies to add.");
346
+ return;
347
+ }
348
348
  try {
349
349
  await addMultipleTaxonomiesApi(url, tempTaxonomy);
350
350
  setTempTaxonomy([]);
@@ -360,6 +360,23 @@ const TaxonomyForm = ({ url }: TaxionomyFormProps) => {
360
360
  }
361
361
  };
362
362
 
363
+ const addTaxonomyClick = async () => {
364
+ try {
365
+ await addTaxonomyApi(url, type, Number(newCode), newValue);
366
+
367
+ alert("Value added successfully");
368
+ const fetchedTaxonomies = await fetchTaxonomiessApi(url);
369
+ if (fetchedTaxonomies && Array.isArray(fetchedTaxonomies)) {
370
+ setAllTaxonomies(fetchedTaxonomies);
371
+ }
372
+ } catch (error) {
373
+ console.error("Error adding value:", error);
374
+ }
375
+ setIsModalOpen(false);
376
+ setNewCode("");
377
+ setNewValue("");
378
+ };
379
+
363
380
  const handleDeleteClick = async (id: string) => {
364
381
  try {
365
382
  await deleteTaxonomyApi(url, id);
@@ -372,6 +389,10 @@ const TaxonomyForm = ({ url }: TaxionomyFormProps) => {
372
389
  }
373
390
  };
374
391
 
392
+ const parentTaxonomies = similarTaxonomies.filter(
393
+ (taxonomy) => !taxonomy.parentId
394
+ );
395
+
375
396
  return (
376
397
  <div
377
398
  className={`${
@@ -414,7 +435,8 @@ const TaxonomyForm = ({ url }: TaxionomyFormProps) => {
414
435
  </thead>
415
436
 
416
437
  <tbody className="divide-y divide-gray-200">
417
- {similarTaxonomies.map((taxonomy, index) => {
438
+ {/* {similarTaxonomies.map((taxonomy, index) => { */}
439
+ {parentTaxonomies.map((taxonomy, index) => {
418
440
  const hasChildren = allTaxonomies.some(
419
441
  (item) => item.parentId === taxonomy.id
420
442
  );
@@ -893,7 +915,7 @@ const TaxonomyForm = ({ url }: TaxionomyFormProps) => {
893
915
  <button
894
916
  onClick={
895
917
  // editTaxonomyItem ? handleEditTaxClick : handleAddClick
896
- editTaxonomyItem ? handleEditTaxClick : handleSaveClick
918
+ editTaxonomyItem ? handleEditTaxClick : addTaxonomyClick
897
919
  }
898
920
  className="px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600"
899
921
  >