diff --git a/first-app/package-lock.json b/first-app/package-lock.json index 0938ca3..62d6434 100644 --- a/first-app/package-lock.json +++ b/first-app/package-lock.json @@ -18,6 +18,7 @@ "react-toastify": "^9.1.3" }, "devDependencies": { + "@netuno/service-client": "^1.2.0", "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "@types/react-highlight-words": "^0.16.4", @@ -995,6 +996,15 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, + "node_modules/@netuno/service-client": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@netuno/service-client/-/service-client-1.2.0.tgz", + "integrity": "sha512-Dya8nYgBZAZdiAz2GZCi/edYMao5IKf9ed+LPUdKKXg0aFZQRyIZCHLrcM1UI1oxX2tsEimXjLuFTfZYDhsEXA==", + "dev": true, + "dependencies": { + "just-extend": "^6.0.1" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2587,6 +2597,12 @@ "node": ">=6" } }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", diff --git a/first-app/package.json b/first-app/package.json index 6423062..62d72b3 100644 --- a/first-app/package.json +++ b/first-app/package.json @@ -20,6 +20,7 @@ "react-toastify": "^9.1.3" }, "devDependencies": { + "@netuno/service-client": "^1.2.0", "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "@types/react-highlight-words": "^0.16.4", diff --git a/first-app/src/main.tsx b/first-app/src/main.tsx index 2ce4caf..c5a9620 100644 --- a/first-app/src/main.tsx +++ b/first-app/src/main.tsx @@ -3,10 +3,14 @@ import ReactDOM from 'react-dom/client' import 'antd/dist/reset.css' import './index.css' import App from './App.tsx' +import _service from '@netuno/service-client'; import store from './store.ts' import { Provider } from 'react-redux' +_service.config({ + prefix: 'http://localhost:9000/services/' +}); ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( diff --git a/first-app/src/pages/Encomenda/Encomendas.tsx b/first-app/src/pages/Encomenda/Encomendas.tsx index debd7de..589d3dc 100644 --- a/first-app/src/pages/Encomenda/Encomendas.tsx +++ b/first-app/src/pages/Encomenda/Encomendas.tsx @@ -9,6 +9,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { getAllEncomenda } from '../../slices/EncomendaSlice'; +import { ParamsType } from '../../interfaces/ParamsType'; function Encomendas() { @@ -16,13 +17,27 @@ function Encomendas() { const { encomendas, loading } = useSelector((state: any) => state.encomenda); const [searchText, setSearchText] = useState(''); - const [estadoFilter, setEstadoFilter] = useState(''); + const [statusFilter, setStatusFilter] = useState(''); const [clienteFilter, setClienteFilter] = useState(''); - const [dataFilter, setDataFilter] = useState(''); + const [dataCriacaoFilter, setDataCriacaoFilter] = useState(''); + const [dataEnvioFilter, setDataEnvioFilter] = useState(''); const [searchedColumn, setSearchedColumn] = useState(''); const searchInput = useRef(null); + const parans:ParamsType = { + pagination:{ + current:1, + pageSize:5 + }, + filter:{ + data_criacao:dataCriacaoFilter, + data_envio:dataEnvioFilter, + status:statusFilter, + cliente:clienteFilter + } + } + const handleSearch = ( selectedKeys: string[], @@ -31,21 +46,71 @@ function Encomendas() { setSearchText(selectedKeys[0]); setSearchedColumn(dataIndex); - if (dataIndex == 'data') { - setDataFilter(selectedKeys[0]) - console.log(selectedKeys[0]) - } else if (dataIndex == 'cliente') { - setClienteFilter(selectedKeys[0]) - console.log(selectedKeys[0]) + if (dataIndex == 'data_envio') { + + setDataEnvioFilter(selectedKeys[0]); + dispatch(getAllEncomenda( + { + pagination: { + current: 1, + pageSize: 5 + }, + filter:parans.filter + } + )); + + } else if (dataIndex == 'data_criacao') { + + setDataCriacaoFilter(selectedKeys[0]); + dispatch(getAllEncomenda( + { + pagination: { + current: 1, + pageSize: 5 + }, + filter:{...parans.filter,data_criacao:selectedKeys[0]} + } + )); + console.log(parans) + } else if (dataIndex == 'status') { - setEstadoFilter(selectedKeys[0]); - console.log(selectedKeys[0]); + + setStatusFilter(selectedKeys[0]) + dispatch(getAllEncomenda( + { + pagination: { + current: 1, + pageSize: 5 + }, + filter:{...parans.filter,status:selectedKeys[0]} + } + )); + console.log(parans) + } else if (dataIndex == 'cliente') { + + parans.filter.cliente = selectedKeys[0]; + dispatch(getAllEncomenda( + { + pagination: { + current: 1, + pageSize: 5 + }, + filter:parans.filter + } + )); + } + }; const handleReset = (clearFilters: () => void) => { clearFilters(); setSearchText(''); + + setClienteFilter(''); + setDataCriacaoFilter(''); + setDataEnvioFilter(''); + setStatusFilter(''); }; useEffect(() => { @@ -72,6 +137,7 @@ function Encomendas() { { value: '3', label: 'FINISHED' } ]} style={{ marginBottom: 8, display: 'block' }} + onChange={(e) => setSelectedKeys(e ? [e] : [])} value={selectedKeys[0]} /> ) :