Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.x release #40

Open
21 of 39 tasks
TimboKZ opened this issue Oct 27, 2020 · 20 comments
Open
21 of 39 tasks

2.x release #40

TimboKZ opened this issue Oct 27, 2020 · 20 comments
Assignees
Labels
enhancement New feature or request

Comments

@TimboKZ
Copy link
Owner

TimboKZ commented Oct 27, 2020

Chonky 2.x release

Remaining todos:

  • Move ChonkyIconFA into the (currently empty) chonky-icon-fontawesome package
  • Migrate List view file entry from SCSS to JSS
  • Fix drag & drop indicator when selection is dropped onto itself
  • Migrate 1.x documentation to Docz
  • Write docs for the new file action framework
  • Improve Noty popups in demos
  • Fix custom context menu handlers consuming events even when FileContextMenu component is not enabled
  • Show file array validation error in the UI & console Validation errors are only shown in console now for better UX.
  • Add keyboard shortcut integration to the new search component (Ctrl+F, Escape).
  • Fix default config applying default file view/sort actions twice.
  • Fix shift-click range selection working when disableSelection is set to true.
  • Fix dark mode version of the docs banner.
  • Add FullFileBrowser component.
  • Add a method for programatically requesting actions to the file browser handle.
  • Fix font size in live editor in Docz
  • Fix zoom and text overflow in search bar on mobile
  • Add built-in file actions API reference page

Stretch goals:

  • Add folderChainIcon field to FileData.
  • Expand DnD documentation (namely describe what checks happen when files are dropped).
  • Support custom toolbar/context menu ordering
  • Global search support (toggling between global & local search)
  • Action buttons support (Submit/Cancel)
  • Support custom properties display (in addition to default file size/mod date)
  • Support custom component classes (similar to Material UI)
  • Support dark mode
  • Support JS theme overriding
  • Improve folder structure for components
  • Disable backdrop on context menu so people can click/right click other things without having to dismiss the menu explicitly.
  • Improve file browser styling on mobile
  • Polish the compact view
  • Support drag & drop into folder chain and opening files via drag & drop
  • Add a way to highlight/style specific file entries
  • Investigate Cannot have two HTML5 backends error on hot reload even when using external DnDProviders.
  • Improve TypeDoc component in Docz.
  • Add deprecation notices & links to 1.x documentation website.
  • Rename action.fileFilter into aciton.selectionFilter (with backwards-compatible deprecation warning for fileFilter).
  • Add action.option.fileFilter for hiding files (similar to built-in "Show hidden files" functionality).
  • Support localization.
  • Decrease bundle size.
@TimboKZ TimboKZ self-assigned this Oct 27, 2020
@TimboKZ TimboKZ added the enhancement New feature or request label Oct 27, 2020
@rhummelmose
Copy link

I've been working a little bit more with your component now. It's really awesome!

@TimboKZ
Copy link
Owner Author

TimboKZ commented Nov 8, 2020

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/

Repository owner deleted a comment from rhummelmose Nov 8, 2020
@TheAksh
Copy link

TheAksh commented Nov 9, 2020

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.

@AndreyVanyakin
Copy link

Great job, thanks a lot.
Just curious - why did you decide to proceed with Redux?
Did you encounter any critical Recoil pitfalls?

@TimboKZ
Copy link
Owner Author

TimboKZ commented Nov 9, 2020

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):

  1. 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.
  2. 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.
  3. 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.

@AndreyVanyakin
Copy link

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 :)

@TheAksh
Copy link

TheAksh commented Nov 11, 2020

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. 😁

@TimboKZ
Copy link
Owner Author

TimboKZ commented Nov 14, 2020

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!).

@TheAksh
Copy link

TheAksh commented Nov 14, 2020

No probs! Yes noticed that..thank you for the prompt change!

@rhummelmose
Copy link

@TimboKZ any thoughts on localization?

@TimboKZ
Copy link
Owner Author

TimboKZ commented Nov 17, 2020

@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?

@rhummelmose
Copy link

Do you need to translate Chonky into a specific language?

Yes, for an admin panel though, so it isn't mission critical :)

@TimboKZ
Copy link
Owner Author

TimboKZ commented Nov 18, 2020

@rhummelmose I see. Have you done this with any other React libraries? Do you know if there are any good examples to follow?

@TimboKZ TimboKZ pinned this issue Feb 11, 2021
@dragosrotaru
Copy link

@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?

@TimboKZ
Copy link
Owner Author

TimboKZ commented Jun 7, 2021

@dragosrotaru does solution described on https://chonky.io/docs/2.x/basics/drag-n-drop#cannot-have-two-html5-backends not work for you?

@dragosrotaru
Copy link

@TimboKZ Ah I am sorry, I should have read the documentation more carefully. Thank you for your help and for making chonky!

@jitendra1604
Copy link

how can we change css can get any reference link please

@mrWindswept
Copy link

@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.

image

@paralin
Copy link

paralin commented Jan 23, 2023

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!

samuelncui pushed a commit to samuelncui/Chonky that referenced this issue Oct 4, 2023
Bumps [@mui/styles](https://github.com/mui/material-ui/tree/HEAD/packages/mui-styles) from 5.11.9 to 5.11.11.
- [Release notes](https://github.com/mui/material-ui/releases)
- [Changelog](https://github.com/mui/material-ui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mui/material-ui/commits/v5.11.11/packages/mui-styles)

---
updated-dependencies:
- dependency-name: "@mui/styles"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@mrWindswept
Copy link

This working perfectly now (I have tested it both on react js and next js). Sorry for the delayed response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants