cms icon indicating copy to clipboard operation
cms copied to clipboard

[5.x] Allow asset container order to be specified

Open ryanmitchell opened this issue 1 year ago • 13 comments

Since https://github.com/statamic/cms/pull/4947 asset containers have been ordered by title, which is mostly a good thing.

However sometimes, you have an asset container that is low priority and rarely used, but then appears first, which isnt so good. A small quality of life improvement is to let the order by specified, while still falling back to title when its not.

This PR introduces an order key to the yaml, which the CP then sorts by when outputting the list, eg order: 99

Before:

CleanShot 2024-05-23 at 13 59 23@2x

After:

CleanShot 2024-05-23 at 13 58 55@2x

ryanmitchell avatar May 23 '24 12:05 ryanmitchell

This works like a charm. Love it.

robdekort avatar May 24 '24 08:05 robdekort

Feels like a slippery slope. If asset containers can have custom orders, why not collections, taxonomies, globals, navs, forms, etc.

Does using the nav builder to reorder your containers not work for you? You can already move the more important asset container to the top. Collections, taxonomies, etc all of them too.

I assume once this is merged you will be doing an "Add order to everything else" PR? 😅

Also if you're going to apply this order to the nav and asset browser tabs, you may as well move it up a level and make the sort happen on AssetContainer::all().

Finally, there's no way to apply the order other than adding it to the yaml. You probably will want a field in the CP settings.

Just brain dumping here and looking for feedback, don't just do it. 😃

jasonvarga avatar May 28 '24 16:05 jasonvarga

I think the issue with the nav builder in this case is yes you can change the sidebar order, but it doesn't change the tab order in assets, which this allows. I have no plans for another PR (honest!). Happy for you to close if you dont feel its of benefit... I mostly did this cause @robdekort wanted it.

ryanmitchell avatar May 28 '24 16:05 ryanmitchell

Yeah, the issue is that the assets directly open up. In the case of my sites you always go to the Favicons container because it happens to be the first in the alphabet. This like only makes sense once during development: Screenshot 2024-05-28 at 19 04 29

With collection you open up in the overview table so there's no issue there. Fwiw, I have no other order requests, lol :-)

robdekort avatar May 28 '24 17:05 robdekort

Just a thought. Perhaps it would make more sense if the CP nav order would be respected by the tabs?

robdekort avatar May 28 '24 17:05 robdekort

Ya we'd love this too, cuz we have a Private asset container by default in our site builder, but it's rarely used, so we'd like it at the end of the tabs.

We have no issues with any of the other data because they don't really have "tabs" the same way Asset Containers do.

edalzell avatar May 28 '24 18:05 edalzell

I am managing a site with tons of assets. I am uploading multiple assets, and only then I am calling some of them when I am creating my content. I need a way to choose the column on which the asset container will be sorted (most often, it's the Date column, descending order). I was indeed surprise that collections only can be sorted with a default order. Will this PR allow the user to choose the column and the sort order, by default? It's critical in my use case. Thanks.

ebeauchamps avatar May 30 '24 14:05 ebeauchamps

I am managing a site with tons of assets. I am uploading multiple assets, and only then I am calling some of them when I am creating my content. I need a way to choose the column on which the asset container will be sorted (most often, it's the Date column, descending order). I was indeed surprise that collections only can be sorted with a default order. Will this PR allow the user to choose the column and the sort order, by default? It's critical in my use case. Thanks.

No, this pull request only allows you to re-order the asset container tabs shown in this screenshot.

CleanShot 2024-05-30 at 15 41 19

duncanmcclean avatar May 30 '24 14:05 duncanmcclean

Thanks Jason. I'll take a look into "Ideas" then.

ebeauchamps avatar May 30 '24 15:05 ebeauchamps

@jasonvarga I've moved the sort to :all() and added a CP field

ryanmitchell avatar May 31 '24 07:05 ryanmitchell

As a workaround for this I just prefixed the container title with 1 - and 2 - :)

morhi avatar Jun 05 '24 14:06 morhi

As a workaround for this I just prefixed the container title with 1 - and 2 - :)

Been there, but it just killed me whenever I saw those digits in the CP 🤣

robdekort avatar Jun 05 '24 14:06 robdekort

Set your container titles to title: '<span class="hidden">1</span>Name'

jk definitely don't do that.

jasonvarga avatar Jun 05 '24 17:06 jasonvarga

Thanks for this pull request!

However, we've decided to remove the tabs from the Asset Manager, in favour of the links in the Control Panel nav. This means you'll be able to re-order & hide asset containers using the Nav Customizer, which saves us adding a new setting.

Closing in favour of #10392.

duncanmcclean avatar Jul 03 '24 20:07 duncanmcclean

Cool! I like it.

robdekort avatar Jul 04 '24 06:07 robdekort