Comments (20)
Thanks @TheAksh! Moving files to the parent directory using drag & drop is not supported yet, but I'm planning to work on this soon. I'll use the mechanism suggested in #42.
Thanks @AndreyVanyakin, it's an interesting question!
I think Recoil is a great library and I definitely enjoyed using it. The main pitfall in my opinion is that it is still experimental - it's not very stable (as you might have seen from many console errors in Chonky 1.x), and the developers are keen on using experimental React features which forces library users to upgrade to the most recent version of React. They are doing some cool things under the hood so it's understandable, but I didn't want to force people to upgrade just because Chonky uses Recoil under the hood.
Recoil's experimental status was a nuisance but it was not the main driver for switching to Redux. I'd say there were 3 reasons for switching (in the descending order of importance):
- Individual Recoil atoms were hard to maintain - they were initialised & updated in different files all around the place. They also had arbitrary cross-dependencies, and it was a nightmare to debug. I'm sure I could improve the file structure and abstraction to make it more centralised, but I felt like I would just be reinventing Redux.
- As you know, file actions are probably the most important feature Chonky has, and I needed to find a way to represent state such that it could be easily changed from file action effects. I feel like Redux does the job reasonably well, and I'm not sure if this would even be possible with Recoil.
- It's gonna sound weird, but I found Recoil to be too tightly coupled with React for my needs. Everything needed to be done using hooks, which meant your state logic had to be aware of React and React re-renders in some way. It's not a huge problem, but it's annoying.
In conclusion, I will repeat that I really enjoyed using Recoil and will definitely use it again in some smaller component libraries. There is virtually zero boilerplate in Recoil, but nowadays Redux boilerplate is not that annoying either (thanks Redux Toolkit!). I also wouldn't be surprised if over time Recoil would introduce more Redux-like features (or vice versa) to become the greatest state management library ever built.
P.S. I unknowingly re-invented createSlice
from Redux Toolkit around a year ago. If I knew it was already a thing back then, Chonky would likely use Redux from the start.
from chonky.
I've been working a little bit more with your component now. It's really awesome!
from chonky.
Small announcement:
I have just released Chonky v2.0.0
, and updated the documentation website to reflect the most recent changes.
You can find it here: https://chonky.io/
from chonky.
Thanks for such a detailed response.
I started a new project with Recoil and it felt awesome after all the overhead code Redux enforces.
Hopefully, the team behind Recoil won't stop moving forward and I don't have to switch to Redux :)
from chonky.
Awesome work! What wasn't clear to me was how do I drag a file that is present inside a Folder out of it. Basically the opposite of dragging and dropping a file in a folder.
from chonky.
Great job, thanks a lot.
Just curious - why did you decide to proceed with Redux?
Did you encounter any critical Recoil pitfalls?
from chonky.
Created an issue on the exact-trie that you own. Commenting it here, since that is a dependency of this library. As an Amazonian, you'd know the InfoSec restrictions considering the Licenses used. 😁
from chonky.
Good catch @TheAksh! I have fixed the license issue and published a new version of Chonky (actually did that a few days ago, but forgot to comment, sorry!).
from chonky.
No probs! Yes noticed that..thank you for the prompt change!
from chonky.
@TimboKZ any thoughts on localization?
from chonky.
@rhummelmose I think it would be nice to have, just need to get around to adding it. I can't say it's at the top of my priority list though.
Do you need to translate Chonky into a specific language?
from chonky.
Do you need to translate Chonky into a specific language?
Yes, for an admin panel though, so it isn't mission critical :)
from chonky.
@rhummelmose I see. Have you done this with any other React libraries? Do you know if there are any good examples to follow?
from chonky.
@TimboKZ Is there any update on the Cannot have two HTML5 backends
error? We are getting this in our project when navigating to and from a route containing chonky. Is there a way to circumvent this issue for the time being?
from chonky.
@dragosrotaru does solution described on https://chonky.io/docs/2.x/basics/drag-n-drop#cannot-have-two-html5-backends not work for you?
from chonky.
@TimboKZ Ah I am sorry, I should have read the documentation more carefully. Thank you for your help and for making chonky!
from chonky.
how can we change css can get any reference link please
from chonky.
@TimboKZ , the library is awesome.. But getting a CSS issue.. The CSS for the folders and files is not getting loaded... Attaching a screenshot..
Can you please have an option to add the css file separately so that a developer can change the CSS properties on demand.
from chonky.
Everything looks great with this package but I think it's time to update it to a newer material-ui, is this still being maintained? @TimboKZ thanks!
from chonky.
This working perfectly now (I have tested it both on react js and next js). Sorry for the delayed response
from chonky.
Related Issues (20)
- custom action grid mode does not stay active
- Update to latest material ui, fortawesome, etc. HOT 5
- Headless ("unstyled") version of chonky
- Chonky doesn't display icons HOT 1
- Icons size is zero after page transitions in next.js HOT 1
- More control for icons.
- Incorrect context menu position
- Change FileTooBar components' labels
- Upgrade material ui dependency to v5. HOT 5
- AWS S3 Storybook example not working HOT 1
- defaultFileViewActionId is not working
- Allow controlling actions on individual files / folders HOT 1
- failure to get 'open_files' callback on initial double click after page refresh when using +2 browsers in the same page HOT 2
- Search Function
- [thumbnails] change background-size default value HOT 1
- How can I custom the value of search input?
- Typescript: Type issues HOT 1
- Multiple instances: double click bug
- Modify of the style.
- Cannot use FullFileBrowser component (Chonky v2.3.2 with React 18) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chonky.