Revision 787a0c82e7ce461d420c3a81696f4c7e1d067f93 authored by Umang Patel on 15 March 2024, 07:55:20 UTC, committed by GitHub on 15 March 2024, 07:55:20 UTC
Refactor code to use useReducer instead of useState. Fixes #7428
'file' and 'fileName' in the uploadParams were not set to null after
import. To avoid this change the code to set 'file' and 'fileName' to
null after importing is done.

<!-- Raise an issue to propose your change
(https://github.com/opencv/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the [Contribution
guide](https://opencv.github.io/cvat/docs/contributing/). -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
<!-- Why is this change required? What problem does it solve? If it
fixes an open
issue, please link to the issue here. Describe your changes in detail,
add
screenshots. -->
This change is required to make the code clear. The previous code uses
many `useState` to manage the state but this version uses `useReducer`
to manage all the states.
In the previous code `file` and `fileName` in the `uploadParams` were
not set to null after importing was done but this version set it to null
so it can not use the previous file while importing annotation.
it solves issue #7428

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->
The changes have been tested manually. The code was tested using
different sequences of annotation uploads. The state of each parameter
is tested by logging its state to the console.

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have created a changelog fragment <!-- see top comment in
CHANGELOG.md -->
- ~~[ ] I have updated the documentation accordingly~~
- ~~[ ] I have added tests to cover my changes~~ 
- [x] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- ~~[ ] I have increased versions of npm packages if it is necessary~~

([cvat-canvas](https://github.com/opencv/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/opencv/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/opencv/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/opencv/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/opencv/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

---------

Co-authored-by: Boris Sekachev <sekachev.bs@gmail.com>
1 parent 9e605f4
History
File Mode Size
.github
.vscode
changelog.d
components
cvat
cvat-canvas
cvat-canvas3d
cvat-cli
cvat-core
cvat-data
cvat-sdk
cvat-ui
dev
helm-chart
serverless
site
supervisord
tests
utils
.bandit -rw-r--r-- 208 bytes
.codacy.yml -rw-r--r-- 122 bytes
.coveragerc -rw-r--r-- 748 bytes
.dockerignore -rw-r--r-- 156 bytes
.editorconfig -rw-r--r-- 406 bytes
.eslintignore -rw-r--r-- 100 bytes
.eslintrc.cjs -rw-r--r-- 3.4 KB
.gitattributes -rw-r--r-- 664 bytes
.gitignore -rw-r--r-- 993 bytes
.gitmodules -rw-r--r-- 97 bytes
.nycrc -rw-r--r-- 353 bytes
.prettierignore -rw-r--r-- 81 bytes
.prettierrc -rw-r--r-- 666 bytes
.pylintrc -rw-r--r-- 30.9 KB
.remarkignore -rw-r--r-- 53 bytes
.remarkrc.js -rw-r--r-- 731 bytes
.stylelintrc.json -rw-r--r-- 319 bytes
CHANGELOG.md -rw-r--r-- 124.6 KB
CITATION.cff -rw-r--r-- 979 bytes
Dockerfile -rw-r--r-- 6.3 KB
Dockerfile.ci -rw-r--r-- 1.2 KB
Dockerfile.ui -rw-r--r-- 1.1 KB
LICENSE -rw-r--r-- 1.1 KB
README.md -rw-r--r-- 16.6 KB
SECURITY.md -rw-r--r-- 803 bytes
backend_entrypoint.sh -rwxr-xr-x 1.1 KB
docker-compose.ci.yml -rw-r--r-- 499 bytes
docker-compose.dev.yml -rw-r--r-- 3.2 KB
docker-compose.external_db.yml -rw-r--r-- 871 bytes
docker-compose.https.yml -rw-r--r-- 1.1 KB
docker-compose.yml -rw-r--r-- 10.8 KB
lint-staged.config.js -rw-r--r-- 1.6 KB
manage.py -rwxr-xr-x 628 bytes
package.json -rw-r--r-- 5.2 KB
rqscheduler.py -rw-r--r-- 455 bytes
wait-for-it.sh -rwxr-xr-x 4.0 KB
wait_for_deps.sh -rwxr-xr-x 693 bytes
yarn.lock -rw-r--r-- 618.4 KB

README.md

back to top