);
};
-export default SimpleTable;
+export default SimpleTable;
\ No newline at end of file
From c26da86575adf3ed133e146fa4ce2768140538b4 Mon Sep 17 00:00:00 2001
From: Muhammed Irshad Ali K K <75845752+M0I0A@users.noreply.github.com>
Date: Tue, 25 Jun 2024 18:36:16 +0530
Subject: [PATCH 2/5] Done level 3
---
src/App.js | 7 +++++-
src/actions/userActions.js | 44 +++++++++++++++++++++++++++++----
src/components/mainComponent.js | 29 ++++++++++++++++------
src/components/simpleTable.js | 7 +++++-
4 files changed, 73 insertions(+), 14 deletions(-)
diff --git a/src/App.js b/src/App.js
index 97d8cad..1113ca1 100644
--- a/src/App.js
+++ b/src/App.js
@@ -3,7 +3,8 @@ import "./assets/css/style.css";
import { connect } from "react-redux";
import "../node_modules/antd/dist/antd.css";
import MainComponent from "./components/mainComponent";
-import { addUser, getUsers } from "./actions/userActions";
+import { addUser, getUsers, deleteUser, updateUser } from "./actions/userActions";
+
function App(props) {
return (
@@ -20,6 +21,10 @@ const mapStateToProps = (state) => ({
const mapDispatchToProps = {
getUsers,
addUser,
+ deleteUser,
+ updateUser,
+
+
};
export default connect(mapStateToProps, mapDispatchToProps)(App);
diff --git a/src/actions/userActions.js b/src/actions/userActions.js
index dfbd544..f72118d 100644
--- a/src/actions/userActions.js
+++ b/src/actions/userActions.js
@@ -1,18 +1,20 @@
+
+
export const getUsers = () => async dispatch => {
- try{
+ try {
const response = await fetch('http://example.com/users')
const parsedResponse = await response.json()
dispatch({
type: 'LIST_USERS',
payload: parsedResponse
});
- }catch(e){
+ } catch(e) {
console.log(e);
}
};
export const addUser = (payload) => async dispatch => {
- try{
+ try {
const response = await fetch("http://example.com/user", {
method: "POST",
body: JSON.stringify(payload),
@@ -21,10 +23,42 @@ export const addUser = (payload) => async dispatch => {
}
});
const parsedResponse = await response.json()
- if(parsedResponse.success){
+ if(parsedResponse.success) {
+ dispatch(getUsers());
+ }
+ } catch(e) {
+ console.log(e);
+ }
+};
+
+export const deleteUser = (id) => async dispatch => {
+ try {
+ const response = await fetch(`http://example.com/user/${id}`, {
+ method: "DELETE"
+ });
+ const parsedResponse = await response.json();
+ if(parsedResponse.success) {
dispatch(getUsers());
}
- }catch(e){
+ } catch(e) {
console.log(e);
}
};
+
+export const updateUser = (id, payload) => async dispatch => {
+ try {
+ const response = await fetch(`http://example.com/user/${id}`, {
+ method: "PUT",
+ body: JSON.stringify(payload),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ });
+ const parsedResponse = await response.json();
+ if(parsedResponse.success) {
+ dispatch(getUsers());
+ }
+ } catch(e) {
+ console.log(e);
+ }
+};
\ No newline at end of file
diff --git a/src/components/mainComponent.js b/src/components/mainComponent.js
index cfeb197..c25b392 100644
--- a/src/components/mainComponent.js
+++ b/src/components/mainComponent.js
@@ -1,23 +1,38 @@
-import React, { useEffect } from "react";
+import React, { useEffect, useState } from "react";
import InputHandler from "./commonInput";
import SimpleTable from "./simpleTable";
function MainComponent(props) {
- const { getUsers, userState, addUser } = props;
+ const { getUsers, userState, addUser, deleteUser, updateUser } = props;
+ const [editingUser, setEditingUser] = useState(null);
const handleSubmit = ({ name, email }) => {
- addUser({ name, email });
+ if (editingUser) {
+ updateUser(editingUser.id, { name, email });
+ setEditingUser(null);
+ } else {
+ addUser({ name, email });
+ }
};
+
+ const handleDelete = (id) => {
+ deleteUser(id);
+ };
+
+ const handleEdit = (user) => {
+ setEditingUser(user);
+ };
+
useEffect(() => {
getUsers();
- }, []);
+ }, [getUsers]);
return (
);
}
-export default MainComponent;
+export default MainComponent;
\ No newline at end of file
diff --git a/src/components/simpleTable.js b/src/components/simpleTable.js
index 2657006..d3da733 100644
--- a/src/components/simpleTable.js
+++ b/src/components/simpleTable.js
@@ -1,6 +1,6 @@
import React from "react";
-const SimpleTable = ({ dataSource }) => {
+const SimpleTable = ({ dataSource, onDelete, onEdit }) => {
return (
{dataSource.length ? (
@@ -10,6 +10,7 @@ const SimpleTable = ({ dataSource }) => {
Id |
Name |
Email |
+
Action |
@@ -18,6 +19,10 @@ const SimpleTable = ({ dataSource }) => {
{item.id} |
{item.name} |
{item.email} |
+
+
+
+ |
))}
From 4dd0e00c02aa1f52c93ca5ce322cb88c2b509c8a Mon Sep 17 00:00:00 2001
From: Muhammed Irshad Ali K K <75845752+M0I0A@users.noreply.github.com>
Date: Tue, 25 Jun 2024 18:40:27 +0530
Subject: [PATCH 3/5] Done
---
package-lock.json | 470 ++++++++++++++++----------------
package.json | 4 +-
src/App.js | 1 +
src/components/mainComponent.js | 88 ++++--
4 files changed, 312 insertions(+), 251 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index dff7457..d886940 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
- "antd": "^4.15.2",
+ "antd": "^4.24.16",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-redux": "^9.1.1",
@@ -94,15 +94,15 @@
"integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA=="
},
"node_modules/@ant-design/react-slick": {
- "version": "0.28.4",
- "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.4.tgz",
- "integrity": "sha512-j9eAHTn7GxbXUFNknJoHS2ceAsqrQi2j8XykjZE1IXCD8kJF+t28EvhBLniDpbOsBk/3kjalnhriTfZcjBHNqg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz",
+ "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==",
"dependencies": {
"@babel/runtime": "^7.10.4",
"classnames": "^2.2.5",
"json2mq": "^0.2.0",
- "lodash": "^4.17.21",
- "resize-observer-polyfill": "^1.5.0"
+ "resize-observer-polyfill": "^1.5.1",
+ "throttle-debounce": "^5.0.0"
},
"peerDependencies": {
"react": ">=16.9.0"
@@ -3657,6 +3657,23 @@
}
}
},
+ "node_modules/@rc-component/portal": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz",
+ "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.0",
+ "classnames": "^2.3.2",
+ "rc-util": "^5.24.4"
+ },
+ "engines": {
+ "node": ">=8.x"
+ },
+ "peerDependencies": {
+ "react": ">=16.9.0",
+ "react-dom": ">=16.9.0"
+ }
+ },
"node_modules/@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -5462,52 +5479,53 @@
}
},
"node_modules/antd": {
- "version": "4.15.2",
- "resolved": "https://registry.npmjs.org/antd/-/antd-4.15.2.tgz",
- "integrity": "sha512-9IwlR022xSQrG+iJG8d7adSo9gy4n7AuS5x0/OxDi/V3CYSTTfaE24jp1wnmgmXOVAT/77Llg9OEbKcSyFim2g==",
+ "version": "4.24.16",
+ "resolved": "https://registry.npmjs.org/antd/-/antd-4.24.16.tgz",
+ "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==",
"dependencies": {
"@ant-design/colors": "^6.0.0",
- "@ant-design/icons": "^4.6.2",
- "@ant-design/react-slick": "~0.28.1",
- "@babel/runtime": "^7.12.5",
- "array-tree-filter": "^2.1.0",
+ "@ant-design/icons": "^4.8.2",
+ "@ant-design/react-slick": "~1.0.2",
+ "@babel/runtime": "^7.18.3",
+ "@ctrl/tinycolor": "^3.6.1",
"classnames": "^2.2.6",
"copy-to-clipboard": "^3.2.0",
"lodash": "^4.17.21",
- "moment": "^2.25.3",
- "rc-cascader": "~1.4.0",
- "rc-checkbox": "~2.3.0",
- "rc-collapse": "~3.1.0",
- "rc-dialog": "~8.5.1",
- "rc-drawer": "~4.3.0",
- "rc-dropdown": "~3.2.0",
- "rc-field-form": "~1.20.0",
- "rc-image": "~5.2.4",
- "rc-input-number": "~7.0.1",
- "rc-mentions": "~1.5.0",
- "rc-menu": "~8.10.0",
- "rc-motion": "^2.4.0",
- "rc-notification": "~4.5.2",
- "rc-pagination": "~3.1.6",
- "rc-picker": "~2.5.10",
- "rc-progress": "~3.1.0",
- "rc-rate": "~2.9.0",
- "rc-resize-observer": "^1.0.0",
- "rc-select": "~12.1.6",
- "rc-slider": "~9.7.1",
- "rc-steps": "~4.1.0",
- "rc-switch": "~3.2.0",
- "rc-table": "~7.13.0",
- "rc-tabs": "~11.7.0",
- "rc-textarea": "~0.3.0",
- "rc-tooltip": "~5.1.0",
- "rc-tree": "~4.1.0",
- "rc-tree-select": "~4.3.0",
- "rc-trigger": "^5.2.1",
- "rc-upload": "~4.2.0-alpha.0",
- "rc-util": "^5.9.4",
- "scroll-into-view-if-needed": "^2.2.25",
- "warning": "^4.0.3"
+ "moment": "^2.29.2",
+ "rc-cascader": "~3.7.3",
+ "rc-checkbox": "~3.0.1",
+ "rc-collapse": "~3.4.2",
+ "rc-dialog": "~9.0.2",
+ "rc-drawer": "~6.3.0",
+ "rc-dropdown": "~4.0.1",
+ "rc-field-form": "~1.38.2",
+ "rc-image": "~5.13.0",
+ "rc-input": "~0.1.4",
+ "rc-input-number": "~7.3.11",
+ "rc-mentions": "~1.13.1",
+ "rc-menu": "~9.8.4",
+ "rc-motion": "^2.9.0",
+ "rc-notification": "~4.6.1",
+ "rc-pagination": "~3.2.0",
+ "rc-picker": "~2.7.6",
+ "rc-progress": "~3.4.2",
+ "rc-rate": "~2.9.3",
+ "rc-resize-observer": "^1.3.1",
+ "rc-segmented": "~2.3.0",
+ "rc-select": "~14.1.18",
+ "rc-slider": "~10.0.1",
+ "rc-steps": "~5.0.0",
+ "rc-switch": "~3.2.2",
+ "rc-table": "~7.26.0",
+ "rc-tabs": "~12.5.10",
+ "rc-textarea": "~0.4.7",
+ "rc-tooltip": "~5.2.2",
+ "rc-tree": "~5.7.12",
+ "rc-tree-select": "~5.5.5",
+ "rc-trigger": "^5.3.4",
+ "rc-upload": "~4.3.6",
+ "rc-util": "^5.37.0",
+ "scroll-into-view-if-needed": "^2.2.25"
},
"funding": {
"type": "opencollective",
@@ -5760,9 +5778,9 @@
"integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
},
"node_modules/async-validator": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz",
- "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
+ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
},
"node_modules/asynckit": {
"version": "0.4.0",
@@ -7323,9 +7341,9 @@
}
},
"node_modules/dayjs": {
- "version": "1.11.10",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
- "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
+ "version": "1.11.11",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz",
+ "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
},
"node_modules/debug": {
"version": "4.3.4",
@@ -9665,19 +9683,6 @@
"integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
"dev": true
},
- "node_modules/hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dependencies": {
- "react-is": "^16.7.0"
- }
- },
- "node_modules/hoist-non-react-statics/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
"node_modules/hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@@ -13225,19 +13230,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/mini-store": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-3.0.6.tgz",
- "integrity": "sha512-YzffKHbYsMQGUWQRKdsearR79QsMzzJcDDmZKlJBqt5JNkqpyJHYlK6gP61O36X+sLf76sO9G6mhKBe83gIZIQ==",
- "dependencies": {
- "hoist-non-react-statics": "^3.3.2",
- "shallowequal": "^1.0.2"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
"node_modules/minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -15649,15 +15641,16 @@
}
},
"node_modules/rc-cascader": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.4.3.tgz",
- "integrity": "sha512-Q4l9Mv8aaISJ+giVnM9IaXxDeMqHUGLvi4F+LksS6pHlaKlN4awop/L+IMjIXpL+ug/ojaCyv/ixcVopJYYCVA==",
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.3.tgz",
+ "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"array-tree-filter": "^2.1.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1",
- "warning": "^4.0.1"
+ "classnames": "^2.3.1",
+ "rc-select": "~14.1.0",
+ "rc-tree": "~5.7.0",
+ "rc-util": "^5.6.1"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15665,12 +15658,13 @@
}
},
"node_modules/rc-checkbox": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz",
- "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz",
+ "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==",
"dependencies": {
"@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1"
+ "classnames": "^2.3.2",
+ "rc-util": "^5.25.2"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15678,9 +15672,9 @@
}
},
"node_modules/rc-collapse": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.4.tgz",
- "integrity": "sha512-WayrhswKMwuJab9xbqFxXTgV0m6X8uOPEO6zm/GJ5YJiJ/wIh/Dd2VtWeI06HYUEnTFv0HNcYv+zWbB+p6OD2A==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz",
+ "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
@@ -15694,14 +15688,15 @@
}
},
"node_modules/rc-dialog": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.5.3.tgz",
- "integrity": "sha512-zoamT8L6+rBwnwjPlrZRxiHCHQXrTcWZD3a6ruoqEdUKP1KgO0eSjMDH9WlF3WEPYMVnb2G5SrjHrhnwgPDu5w==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.2.tgz",
+ "integrity": "sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==",
"dependencies": {
"@babel/runtime": "^7.10.1",
+ "@rc-component/portal": "^1.0.0-8",
"classnames": "^2.2.6",
"rc-motion": "^2.3.0",
- "rc-util": "^5.6.1"
+ "rc-util": "^5.21.0"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15709,13 +15704,15 @@
}
},
"node_modules/rc-drawer": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.3.1.tgz",
- "integrity": "sha512-GMfFy4maqxS9faYXEhQ+0cA1xtkddEQzraf6SAdzWbn444DrrLogwYPk1NXSpdXjLCLxgxOj9MYtyYG42JsfXg==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.3.0.tgz",
+ "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==",
"dependencies": {
"@babel/runtime": "^7.10.1",
+ "@rc-component/portal": "^1.1.1",
"classnames": "^2.2.6",
- "rc-util": "^5.7.0"
+ "rc-motion": "^2.6.1",
+ "rc-util": "^5.21.2"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15723,44 +15720,47 @@
}
},
"node_modules/rc-dropdown": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.2.5.tgz",
- "integrity": "sha512-dVO2eulOSbEf+F4OyhCY5iGiMVhUYY/qeXxL7Ex2jDBt/xc89jU07mNoowV6aWxwVOc70pxEINff0oM2ogjluA==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz",
+ "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==",
"dependencies": {
- "@babel/runtime": "^7.10.1",
+ "@babel/runtime": "^7.18.3",
"classnames": "^2.2.6",
- "rc-trigger": "^5.0.4"
+ "rc-trigger": "^5.3.1",
+ "rc-util": "^5.17.0"
},
"peerDependencies": {
- "react": "*",
- "react-dom": "*"
+ "react": ">=16.11.0",
+ "react-dom": ">=16.11.0"
}
},
"node_modules/rc-field-form": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.20.1.tgz",
- "integrity": "sha512-f64KEZop7zSlrG4ef/PLlH12SLn6iHDQ3sTG+RfKBM45hikwV1i8qMf53xoX12NvXXWg1VwchggX/FSso4bWaA==",
+ "version": "1.38.2",
+ "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.38.2.tgz",
+ "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==",
"dependencies": {
- "@babel/runtime": "^7.8.4",
- "async-validator": "^3.0.3",
- "rc-util": "^5.8.0"
+ "@babel/runtime": "^7.18.0",
+ "async-validator": "^4.1.0",
+ "rc-util": "^5.32.2"
},
"engines": {
"node": ">=8.x"
},
"peerDependencies": {
- "react": ">= 16.9.0",
- "react-dom": ">= 16.9.0"
+ "react": ">=16.9.0",
+ "react-dom": ">=16.9.0"
}
},
"node_modules/rc-image": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.2.5.tgz",
- "integrity": "sha512-qUfZjYIODxO0c8a8P5GeuclYXZjzW4hV/5hyo27XqSFo1DmTCs2HkVeQObkcIk5kNsJtgsj1KoPThVsSc/PXOw==",
+ "version": "5.13.0",
+ "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz",
+ "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==",
"dependencies": {
"@babel/runtime": "^7.11.2",
+ "@rc-component/portal": "^1.0.2",
"classnames": "^2.2.6",
- "rc-dialog": "~8.6.0",
+ "rc-dialog": "~9.0.0",
+ "rc-motion": "^2.6.2",
"rc-util": "^5.0.6"
},
"peerDependencies": {
@@ -15768,29 +15768,28 @@
"react-dom": ">=16.9.0"
}
},
- "node_modules/rc-image/node_modules/rc-dialog": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.6.0.tgz",
- "integrity": "sha512-GSbkfqjqxpZC5/zc+8H332+q5l/DKUhpQr0vdX2uDsxo5K0PhvaMEVjyoJUTkZ3+JstEADQji1PVLVb/2bJeOQ==",
+ "node_modules/rc-input": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz",
+ "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==",
"dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-motion": "^2.3.0",
- "rc-util": "^5.6.1"
+ "@babel/runtime": "^7.11.1",
+ "classnames": "^2.2.1",
+ "rc-util": "^5.18.1"
},
"peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
+ "react": ">=16.0.0",
+ "react-dom": ">=16.0.0"
}
},
"node_modules/rc-input-number": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.0.6.tgz",
- "integrity": "sha512-J5DIoCKIunoPb16FEghaEOyNDuZXD5F9LxLNcqd31z/0e37XtuHgo4QF/TonKLsESwdg7UAzWhiD0K6PPrN3YQ==",
+ "version": "7.3.11",
+ "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.11.tgz",
+ "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
- "rc-util": "^5.9.8"
+ "rc-util": "^5.23.0"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15798,16 +15797,16 @@
}
},
"node_modules/rc-mentions": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.5.3.tgz",
- "integrity": "sha512-NG/KB8YiKBCJPHHvr/QapAb4f9YzLJn7kDHtmI1K6t7ZMM5YgrjIxNNhoRKKP9zJvb9PdPts69Hbg4ZMvLVIFQ==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz",
+ "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
- "rc-menu": "^8.0.1",
- "rc-textarea": "^0.3.0",
+ "rc-menu": "~9.8.0",
+ "rc-textarea": "^0.4.0",
"rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1"
+ "rc-util": "^5.22.5"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15815,18 +15814,16 @@
}
},
"node_modules/rc-menu": {
- "version": "8.10.8",
- "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.10.8.tgz",
- "integrity": "sha512-0gnSR0nmR/60NnK+72EGd+QheHyPSQ3wYg1TwX1zl0JJ9Gm0purFFykCXVv/G0Jynpt0QySPAos+bpHpjMZdoQ==",
+ "version": "9.8.4",
+ "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz",
+ "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
- "mini-store": "^3.0.1",
- "rc-motion": "^2.0.1",
+ "rc-motion": "^2.4.3",
+ "rc-overflow": "^1.2.8",
"rc-trigger": "^5.1.2",
- "rc-util": "^5.7.0",
- "resize-observer-polyfill": "^1.5.0",
- "shallowequal": "^1.1.0"
+ "rc-util": "^5.27.0"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15834,13 +15831,13 @@
}
},
"node_modules/rc-motion": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz",
- "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==",
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.2.tgz",
+ "integrity": "sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==",
"dependencies": {
"@babel/runtime": "^7.11.1",
"classnames": "^2.2.1",
- "rc-util": "^5.21.0"
+ "rc-util": "^5.43.0"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15848,14 +15845,14 @@
}
},
"node_modules/rc-notification": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.5.7.tgz",
- "integrity": "sha512-zhTGUjBIItbx96SiRu3KVURcLOydLUHZCPpYEn1zvh+re//Tnq/wSxN4FKgp38n4HOgHSVxcLEeSxBMTeBBDdw==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.1.tgz",
+ "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.2.0",
- "rc-util": "^5.0.1"
+ "rc-util": "^5.20.1"
},
"engines": {
"node": ">=8.x"
@@ -15881,9 +15878,9 @@
}
},
"node_modules/rc-pagination": {
- "version": "3.1.17",
- "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.17.tgz",
- "integrity": "sha512-/BQ5UxcBnW28vFAcP2hfh+Xg15W0QZn8TWYwdCApchMH1H0CxiaUUcULP8uXcFM1TygcdKWdt3JqsL9cTAfdkQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz",
+ "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1"
@@ -15894,9 +15891,9 @@
}
},
"node_modules/rc-picker": {
- "version": "2.5.19",
- "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.5.19.tgz",
- "integrity": "sha512-u6myoCu/qiQ0vLbNzSzNrzTQhs7mldArCpPHrEI6OUiifs+IPXmbesqSm0zilJjfzrZJLgYeyyOMSznSlh0GKA==",
+ "version": "2.7.6",
+ "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.7.6.tgz",
+ "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
@@ -15904,7 +15901,7 @@
"dayjs": "1.x",
"moment": "^2.24.0",
"rc-trigger": "^5.0.4",
- "rc-util": "^5.4.0",
+ "rc-util": "^5.37.0",
"shallowequal": "^1.1.0"
},
"engines": {
@@ -15916,12 +15913,13 @@
}
},
"node_modules/rc-progress": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.4.tgz",
- "integrity": "sha512-XBAif08eunHssGeIdxMXOmRQRULdHaDdIFENQ578CMb4dyewahmmfJRyab+hw4KH4XssEzzYOkAInTLS7JJG+Q==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz",
+ "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==",
"dependencies": {
"@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6"
+ "classnames": "^2.2.6",
+ "rc-util": "^5.16.1"
},
"peerDependencies": {
"react": ">=16.9.0",
@@ -15960,17 +15958,32 @@
"react-dom": ">=16.9.0"
}
},
+ "node_modules/rc-segmented": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz",
+ "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==",
+ "dependencies": {
+ "@babel/runtime": "^7.11.1",
+ "classnames": "^2.2.1",
+ "rc-motion": "^2.4.4",
+ "rc-util": "^5.17.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.0.0",
+ "react-dom": ">=16.0.0"
+ }
+ },
"node_modules/rc-select": {
- "version": "12.1.13",
- "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-12.1.13.tgz",
- "integrity": "sha512-cPI+aesP6dgCAaey4t4upDbEukJe+XN0DK6oO/6flcCX5o28o7KNZD7JAiVtC/6fCwqwI/kSs7S/43dvHmBl+A==",
+ "version": "14.1.18",
+ "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.18.tgz",
+ "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.0.1",
"rc-overflow": "^1.0.0",
"rc-trigger": "^5.0.4",
- "rc-util": "^5.9.8",
+ "rc-util": "^5.16.1",
"rc-virtual-list": "^3.2.0"
},
"engines": {
@@ -15982,14 +15995,13 @@
}
},
"node_modules/rc-slider": {
- "version": "9.7.5",
- "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.7.5.tgz",
- "integrity": "sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz",
+ "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
- "rc-tooltip": "^5.0.1",
- "rc-util": "^5.16.1",
+ "rc-util": "^5.18.1",
"shallowequal": "^1.1.0"
},
"engines": {
@@ -16001,13 +16013,13 @@
}
},
"node_modules/rc-steps": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.1.4.tgz",
- "integrity": "sha512-qoCqKZWSpkh/b03ASGx1WhpKnuZcRWmvuW+ZUu4mvMdfvFzVxblTwUM+9aBd0mlEUFmt6GW8FXhMpHkK3Uzp3w==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz",
+ "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==",
"dependencies": {
- "@babel/runtime": "^7.10.2",
+ "@babel/runtime": "^7.16.7",
"classnames": "^2.2.3",
- "rc-util": "^5.0.1"
+ "rc-util": "^5.16.1"
},
"engines": {
"node": ">=8.x"
@@ -16032,14 +16044,14 @@
}
},
"node_modules/rc-table": {
- "version": "7.13.3",
- "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.13.3.tgz",
- "integrity": "sha512-oP4fknjvKCZAaiDnvj+yzBaWcg+JYjkASbeWonU1BbrLcomkpKvMUgPODNEzg0QdXA9OGW0PO86h4goDSW06Kg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz",
+ "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.4.0",
+ "rc-resize-observer": "^1.1.0",
+ "rc-util": "^5.22.5",
"shallowequal": "^1.1.0"
},
"engines": {
@@ -16051,16 +16063,17 @@
}
},
"node_modules/rc-tabs": {
- "version": "11.7.3",
- "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.7.3.tgz",
- "integrity": "sha512-5nd2NVss9TprPRV9r8N05SjQyAE7zDrLejxFLcbJ+BdLxSwnGnk3ws/Iq0smqKZUnPQC0XEvnpF3+zlllUUT2w==",
+ "version": "12.5.10",
+ "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.5.10.tgz",
+ "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==",
"dependencies": {
"@babel/runtime": "^7.11.2",
"classnames": "2.x",
- "rc-dropdown": "^3.1.3",
- "rc-menu": "^8.6.1",
+ "rc-dropdown": "~4.0.0",
+ "rc-menu": "~9.8.0",
+ "rc-motion": "^2.6.2",
"rc-resize-observer": "^1.0.0",
- "rc-util": "^5.5.0"
+ "rc-util": "^5.16.0"
},
"engines": {
"node": ">=8.x"
@@ -16071,14 +16084,14 @@
}
},
"node_modules/rc-textarea": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.7.tgz",
- "integrity": "sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==",
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz",
+ "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
"rc-resize-observer": "^1.0.0",
- "rc-util": "^5.7.0",
+ "rc-util": "^5.24.4",
"shallowequal": "^1.1.0"
},
"peerDependencies": {
@@ -16087,11 +16100,12 @@
}
},
"node_modules/rc-tooltip": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.1.1.tgz",
- "integrity": "sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz",
+ "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==",
"dependencies": {
"@babel/runtime": "^7.11.2",
+ "classnames": "^2.3.1",
"rc-trigger": "^5.0.0"
},
"peerDependencies": {
@@ -16100,18 +16114,18 @@
}
},
"node_modules/rc-tree": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-4.1.5.tgz",
- "integrity": "sha512-q2vjcmnBDylGZ9/ZW4F9oZMKMJdbFWC7um+DAQhZG1nqyg1iwoowbBggUDUaUOEryJP+08bpliEAYnzJXbI5xQ==",
+ "version": "5.7.12",
+ "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz",
+ "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.0.1",
- "rc-util": "^5.0.0",
- "rc-virtual-list": "^3.0.1"
+ "rc-util": "^5.16.1",
+ "rc-virtual-list": "^3.5.1"
},
"engines": {
- "node": ">=8.x"
+ "node": ">=10.x"
},
"peerDependencies": {
"react": "*",
@@ -16119,15 +16133,15 @@
}
},
"node_modules/rc-tree-select": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.3.3.tgz",
- "integrity": "sha512-0tilOHLJA6p+TNg4kD559XnDX3PTEYuoSF7m7ryzFLAYvdEEPtjn0QZc5z6L0sMKBiBlj8a2kf0auw8XyHU3lA==",
+ "version": "5.5.5",
+ "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz",
+ "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==",
"dependencies": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
- "rc-select": "^12.0.0",
- "rc-tree": "^4.0.0",
- "rc-util": "^5.0.5"
+ "rc-select": "~14.1.0",
+ "rc-tree": "~5.7.0",
+ "rc-util": "^5.16.1"
},
"peerDependencies": {
"react": "*",
@@ -16154,11 +16168,11 @@
}
},
"node_modules/rc-upload": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.2.1.tgz",
- "integrity": "sha512-ylCwyzKjCFpD2ZrTe49adxnyo/bJIhoydWRg9y6LwYM0eRT/GDYvkLauXR0MKWVVmCtp+x6pOjTXqd3b0Z3KzA==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.6.tgz",
+ "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==",
"dependencies": {
- "@babel/runtime": "^7.10.1",
+ "@babel/runtime": "^7.18.3",
"classnames": "^2.2.5",
"rc-util": "^5.2.0"
},
@@ -16168,9 +16182,9 @@
}
},
"node_modules/rc-util": {
- "version": "5.39.1",
- "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz",
- "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==",
+ "version": "5.43.0",
+ "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz",
+ "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==",
"dependencies": {
"@babel/runtime": "^7.18.3",
"react-is": "^18.2.0"
@@ -16186,9 +16200,9 @@
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
},
"node_modules/rc-virtual-list": {
- "version": "3.11.5",
- "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz",
- "integrity": "sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ==",
+ "version": "3.14.4",
+ "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.4.tgz",
+ "integrity": "sha512-WDnwmEls+JImUGHxF0g05ffYQqQH3+is/vzBROj87MiA5op6OwUGNjDT9gbLkkq43XAu6QN7YA8sRmCwnCgh5A==",
"dependencies": {
"@babel/runtime": "^7.20.0",
"classnames": "^2.2.6",
@@ -18268,6 +18282,14 @@
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz",
"integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ=="
},
+ "node_modules/throttle-debounce": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz",
+ "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==",
+ "engines": {
+ "node": ">=12.22"
+ }
+ },
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -18788,14 +18810,6 @@
"makeerror": "1.0.12"
}
},
- "node_modules/warning": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
- "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
"node_modules/watchpack": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
diff --git a/package.json b/package.json
index b3ee3cf..2e0ca6a 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
- "antd": "^4.15.2",
+ "antd": "^4.24.16",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-redux": "^9.1.1",
@@ -47,4 +47,4 @@
"public"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/App.js b/src/App.js
index 1113ca1..b756731 100644
--- a/src/App.js
+++ b/src/App.js
@@ -4,6 +4,7 @@ import { connect } from "react-redux";
import "../node_modules/antd/dist/antd.css";
import MainComponent from "./components/mainComponent";
import { addUser, getUsers, deleteUser, updateUser } from "./actions/userActions";
+import 'antd/dist/antd.css';
function App(props) {
diff --git a/src/components/mainComponent.js b/src/components/mainComponent.js
index c25b392..2447a3e 100644
--- a/src/components/mainComponent.js
+++ b/src/components/mainComponent.js
@@ -1,36 +1,82 @@
import React, { useEffect, useState } from "react";
-import InputHandler from "./commonInput";
-import SimpleTable from "./simpleTable";
+import { Table, Button, Input, Form } from 'antd';
+import { EditOutlined, DeleteOutlined } from '@ant-design/icons';
function MainComponent(props) {
const { getUsers, userState, addUser, deleteUser, updateUser } = props;
- const [editingUser, setEditingUser] = useState(null);
-
- const handleSubmit = ({ name, email }) => {
- if (editingUser) {
- updateUser(editingUser.id, { name, email });
- setEditingUser(null);
- } else {
- addUser({ name, email });
- }
+ const [form] = Form.useForm();
+
+ useEffect(() => {
+ getUsers();
+ }, [getUsers]);
+
+ const handleSubmit = (values) => {
+ addUser(values);
+ form.resetFields();
};
const handleDelete = (id) => {
deleteUser(id);
};
- const handleEdit = (user) => {
- setEditingUser(user);
- };
-
- useEffect(() => {
- getUsers();
- }, [getUsers]);
+ const columns = [
+ {
+ title: 'Id',
+ dataIndex: 'id',
+ key: 'id',
+ },
+ {
+ title: 'Name',
+ dataIndex: 'name',
+ key: 'name',
+ },
+ {
+ title: 'Email',
+ dataIndex: 'email',
+ key: 'email',
+ },
+ {
+ title: 'Actions',
+ key: 'actions',
+ render: (_, record) => (
+ <>
+
} style={{ marginRight: 8 }}>
+ Edit
+
+
} onClick={() => handleDelete(record.id)}>
+ Delete
+
+ >
+ ),
+ },
+ ];
return (
-
-
-
+
);
}
From af47d015cce486eb466bffde774690dd075295bc Mon Sep 17 00:00:00 2001
From: Muhammed Irshad Ali K K <75845752+M0I0A@users.noreply.github.com>
Date: Tue, 25 Jun 2024 18:44:01 +0530
Subject: [PATCH 4/5] Done all leve
---
src/components/mainComponent.js | 54 +++++++++++++++++++++++++++++++--
1 file changed, 51 insertions(+), 3 deletions(-)
diff --git a/src/components/mainComponent.js b/src/components/mainComponent.js
index 2447a3e..e1caaae 100644
--- a/src/components/mainComponent.js
+++ b/src/components/mainComponent.js
@@ -1,10 +1,12 @@
import React, { useEffect, useState } from "react";
-import { Table, Button, Input, Form } from 'antd';
+import { Table, Button, Input, Form, Modal } from 'antd';
import { EditOutlined, DeleteOutlined } from '@ant-design/icons';
function MainComponent(props) {
const { getUsers, userState, addUser, deleteUser, updateUser } = props;
const [form] = Form.useForm();
+ const [editForm] = Form.useForm();
+ const [editingUser, setEditingUser] = useState(null);
useEffect(() => {
getUsers();
@@ -19,6 +21,16 @@ function MainComponent(props) {
deleteUser(id);
};
+ const handleEdit = (record) => {
+ setEditingUser(record);
+ editForm.setFieldsValue(record);
+ };
+
+ const handleUpdate = (values) => {
+ updateUser(editingUser.id, values);
+ setEditingUser(null);
+ };
+
const columns = [
{
title: 'Id',
@@ -40,10 +52,19 @@ function MainComponent(props) {
key: 'actions',
render: (_, record) => (
<>
-
} style={{ marginRight: 8 }}>
+
}
+ style={{ marginRight: 8 }}
+ onClick={() => handleEdit(record)}
+ >
Edit
-
} onClick={() => handleDelete(record.id)}>
+
}
+ onClick={() => handleDelete(record.id)}
+ >
Delete
>
@@ -77,6 +98,33 @@ function MainComponent(props) {
+
+
editForm.submit()}
+ onCancel={() => setEditingUser(null)}
+ >
+
+
+
+
+
+
+
+
);
}
From 4537ae8280caa4e291ac776cdf9514da20a7623a Mon Sep 17 00:00:00 2001
From: Muhammed Irshad Ali K K <75845752+M0I0A@users.noreply.github.com>
Date: Tue, 25 Jun 2024 18:46:00 +0530
Subject: [PATCH 5/5] Done all
---
src/actions/userActions.js | 2 --
src/components/simpleTable.js | 1 -
src/index.js | 1 -
src/mocks/handlers.js | 1 -
src/reducers/index.js | 4 +---
src/store.js | 5 ++---
6 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/actions/userActions.js b/src/actions/userActions.js
index f72118d..2a81527 100644
--- a/src/actions/userActions.js
+++ b/src/actions/userActions.js
@@ -1,5 +1,3 @@
-
-
export const getUsers = () => async dispatch => {
try {
const response = await fetch('http://example.com/users')
diff --git a/src/components/simpleTable.js b/src/components/simpleTable.js
index d3da733..5e76f9f 100644
--- a/src/components/simpleTable.js
+++ b/src/components/simpleTable.js
@@ -1,5 +1,4 @@
import React from "react";
-
const SimpleTable = ({ dataSource, onDelete, onEdit }) => {
return (
diff --git a/src/index.js b/src/index.js
index 56ebbb8..640681a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,3 @@
-// src/index.js
import React from "react";
import { Provider } from "react-redux";
import App from "./App";
diff --git a/src/mocks/handlers.js b/src/mocks/handlers.js
index 21c901a..eca7e38 100644
--- a/src/mocks/handlers.js
+++ b/src/mocks/handlers.js
@@ -1,4 +1,3 @@
-// src/mocks/handlers.js
import { http, HttpResponse } from "msw";
import initiateDB from "../db/initDB";
diff --git a/src/reducers/index.js b/src/reducers/index.js
index 004588f..12b080c 100644
--- a/src/reducers/index.js
+++ b/src/reducers/index.js
@@ -1,10 +1,8 @@
-// src/reducers/index.js
import { combineReducers } from "redux";
-// Import other reducers here
import userReducer from "./userReducer";
const rootReducer = combineReducers({
- userState: userReducer, // Use your actual reducers here
+ userState: userReducer,
});
export default rootReducer;
diff --git a/src/store.js b/src/store.js
index d246d49..b8f8fb3 100644
--- a/src/store.js
+++ b/src/store.js
@@ -1,7 +1,6 @@
-// src/store.js
import { createStore, applyMiddleware } from 'redux';
-import { thunk } from 'redux-thunk'; // Corrected import
-import rootReducer from './reducers'; // Import your root reducer
+import { thunk } from 'redux-thunk';
+import rootReducer from './reducers';
const initialState = {};
const middleware = [thunk];