Skip to content

Upcoming Features ​

We are constantly working to expand the capabilities of Sanity Structure Tool to make it the most powerful and flexible way to define your Sanity Studio structure via JSON.

Here is a glimpse of what's coming in future releases:

Planned Features ​

1. Bulk Actions (Delete All) ​

Support for automatic bulk deletion. When enabled via the deleteAll property, the plugin will automatically handle both rendering a delete trigger in the UI and executing the document deletion queries for all matching items in the listing.

ts
{
  schemaType: 'draftPost',
  deleteAll: ({ currentUser }) =>
    currentUser.roles.some((role) => role.name === 'administrator'),
}
ts
helpers.listing('draftPost', {
  deleteAll: ({ currentUser }) => currentUser.roles.some((role) => role.name === 'administrator'),
});

2. Custom List Item Badges ​

Support for adding custom status badges or counters next to list items to highlight specific states (e.g. showing the count of pending documents or warning tags).

ts
{
  schemaType: 'post',
  badge: {
    title: 'Draft',
    color: 'warning',
    query: '_id in path("drafts.**")',
  },
}
ts
helpers.listing('post', {
  badge: {
    title: 'Draft',
    color: 'warning',
    query: '_id in path("drafts.**")',
  },
});

3. Dynamic Icon Callbacks ​

Support for resolving list item icons dynamically using callback functions. This will allow rendering different icons based on active workspaces, current user roles, or custom metadata values.

ts
{
  schemaType: 'post',
  icon: ({ workspace }) => (workspace === 'canary' ? StarIcon : DocumentIcon),
}
ts
helpers.listing('post', {
  icon: ({ workspace }) => (workspace === 'canary' ? StarIcon : DocumentIcon),
});

Have a Suggestion?

Is there something else you'd like to see before we hit v2.0.0? We'd love to hear your feedback! Feel free to open an issue or start a discussion on our GitHub repository.

Released under the MIT License.