mouse0270 / module-credits

Lists the authors of projects on the Manage Modules Window. If a url is provided in the module.json file, it will make the version tag link to the module url.
MIT License
7 stars 6 forks source link

Feature request: Rename without re-rendering? #110

Open Doresain opened 1 year ago

Doresain commented 1 year ago

Two requests in one day, apologies. :)

I do a lot of module renaming (mostly prefixes) in order to impose some organization on the module list. Since each rename triggers a new render of the module list (in order to correctly sort, I presume), renaming multiple modules at a time is kind of a drag because each one requires:

  1. Re-filtering the list
  2. Scrolling back to where I was in the list
  3. Waiting for all the buttons to render etc. in the modules above where I'm at in the list so that the context menu is accessible.

What would be killer is if (optionally, probably?) renaming didn't trigger a re-render, meaning I could rename a bunch in a row efficiently, living with the bad sort until the next time the application re-rendered for another purpose.

Thanks for considering!

mouse0270 commented 1 year ago

Could I ask why and what modules you are renaming? I am not sure I like the idea of not rerendering the screen after a rename as this seems like more of an edge case then the common case where the idea of renaming a module is to better the random ones that don't end up quite where they should.

If you are renaming a lot of modules, maybe I should look into what your renaming and why you are renaming them and improve my smart label feature to auto rename them for you.

Doresain commented 1 year ago

Yeah, mostly I'm substituting for a lack of sort/filter/tagging by using prefixes covering primarily two dimensions:

1, Type: Is this a Content module that only provides content packs of some kind, or does it add some kind of functionality?

  1. Category: If it is a content module, what kind of content (adventure, scenes, sounds, animations, etc). If it is a module that adds functionality, what is the primary area of functionality added?

So my module names end up looking like "Type - Category - Module Name", ie "Content - Adventure - Grim Harvest" or "Func - Chat - Tabbed Chatlog" etc. That way if I want to scroll to all the modules that primarily add chat features or enable a few modules containing music to look for a good track it is easy to find them all grouped.

In the case of modules that either don't function on the current foundry version or conflict with others that I'm using I'll sometimes replace the above with a prefix that indicates there is a problem rather than uninstalling so that I still have it if it gets updated but I don't have to re-ask myself "Wait, why isn't X enabled?" all the time.

The 'real' solve for this set of issues is filter/sort/arbitrary tagging, but that is a much more substantial ask.

Bulk renaming from an external source (csv? json? gsheet?) might be another option, but relies on the user to get the formatting right.

Edit: Actually, now that I think about it, I can probably solve this for my own weird use case by writing a little module for bulk renaming for myself, so unless you feel like there is value here for others OR you decide you want to take on the sort/filter/tag juggernaut no worries.