Make "toggle" a feature of every block instead of/in addition to a block type

In Anytype and Notion, “toggle” is currently implemented as a type of list. This means I can only ever have the default text size for a toggle and it creates a needlessly limited use case. In other words, the utility of the collapse function is not limited to list-based uses. The ability to collapse contents is extremely useful and would ideally be a feature of all (or most) block types, in my opinion.

If you look at other systems that use blocks, such as Roam, every block can be collapsed. This is a good example, however we do not want everything to be an “outline” (set of bullet points) as it is in Roam. That’s fine, Anytype already works this way, everything is a block, and blocks can be nested (parent-child) without being “bullet points”. So simply add toggle state to block controls would work well in the existing system, along with a visual indicator when a block is collapsed and has contents inside.

You can also reference Fibery which has a collapse state for Headers, which is at least more useful than only having a list-type toggle, in my view. So in Fibery you can construct well-demarcated documents using different sizes of headers, and optionally collapse them to create a clean, expandable document, kind of like an interactive Table of Contents. It’s a really nice feature to have.

In Fibery the toggle simply appears to the left of the block contents when you mouse-over, just like Anytype block controls currently do. This is a good way to handle it as it minimizes distracting controls, while still providing the collapse option for relevant blocks. Here is an example:

95 Likes

This is something I find annoying. I have a toggle list and I want to make the toggle’s title a heading as well, but it can either be a heading or a toggle list.

In large documents, for instance, I need to organize the text heavily, in which case toggle would come quite handy. This should definitely be supported by Anytype. I don’t know why it still hasn’t been implemented in Notion.

7 Likes

I would like to add a +1 here. I was just going to create a feature request to allow checkboxes to be included within a toggle title. This would provide the opertunity to create a simple tasks manger supporting parent tasks and child tasks, all toggleable.

Quick mockup created in Balsamiq:

9 Likes

Toggle really is a potentially powerful function, rather than simply a type of “formatting”, and could be used in a myriad of beneficial ways. Only the “outliner” apps like Roam and Dynalist, etc. seem to have realized this, although they essentially enforce all content to be “lists”, which is also non-ideal. Free page layout, including columns, but allowing toggle on a per-block basis, would be a nice improvement that no other system that I’m aware of has implemented. One trick may be implementing it in an intuitive but not obtrusive way, but I trust the team can resolve that!

14 Likes

+1 :+1:

2 Likes

+2 here. I LOVE toggles and use then everywhere i can. Theres another good reference for then- even Onenote does it like that… in onenote every paragraph can have indents, and only when indents are collpased does the toggle to expand (as a + square) appears

3 Likes

+1 here, this would be a very useful case especially for outline purposes and Wiki builders. I actually migrated from other wiki tools specifically for a toggleable header.

3 Likes

We indeed need this, I use toggles everywhere and I would love to be able to order them with header text.

2 Likes

@Oshyan Perfect.

It probably goes without saying, but all the toggle shortcuts should also work for folding/unfolding/moving any nested blocks.

1 Like

A little workaround I use:

### Header
> Show/Hide
    * Nested item 1
    * Nested item 2
    Nested Text

But I agree, everything with a sub-block should be collapsible!

+1 (:

This is one of my most-missed features. It’s highly voted here too.

To be honest its the only reason I still keep most of my notes in RemNote.

I wonder how high is it in the roadmap.

4 Likes

I saw a recent implementation of this that I really liked, and which aligned with much of how I had been thinking about the “formatting” vs. “functionality” of blocks as well. In short, I think an extension of the “toggle on every block” concept is that certain kinds of functionality could be separated from formatting, as they are arguably separate concepts. How something looks vs. how something works (what you can do with it, how you can interact with it, if at all). To some degree the lines are blurred, but I think reasonable distinctions can be made. At the very least a more flexible approach to considering what kinds of formatting can reasonably be used simultaneously. Here’s a new app that I think is doing a good job with this:

Here’s how it works with toggles, quotes, and emoji for blocks:
9epAMet4CL

Basically you can have almost any block be a toggle, it’s just a “property” of a block. Same with Emoji, and quote. I am less convinced by treating Quote this way, but I can see the value. And regardless the approach to per-block toggle is great. The only thing possibly missing for me would be the option to have toggle on by default, in other words all newly created blocks have toggle on, and you can disable it on a per-block basis. This would be great for e.g. writing in outliner style. As an alternative, perhaps a hotkey that creates new blocks with Toggle enabled.

6 Likes

+1
I really miss this feature and hope they will implement it as soon as possible.

2 Likes

Is your feature request related to a problem? Please describe.

As someone who writes a lot of notes and extensive project plans, having to swipe through a long document is very counter intuitive and a hassle in itself.

Describe the solution you’d like

It would be great to have the option to have toggles on headers so as to hide whole blocks of information under that specific header. This would make going through long notes a lot faster.

Describe alternatives you’ve considered

No alternatives really.

Additional context

Example, notion’s toggle list:

3 Likes

Hey, do you mean something like mentioned here?

2 Likes

Yeah, would be good to merge both. That way we have only one place to concentrate the votes!

1 Like

Hello everyone :nerd_face: This request is 100% on track
Designs are already in progress.

8 Likes

Having nesting be defined by headers is a nice one, though:

  • Should probably be optional (as some people who just wants headers might be annoyed)
  • it’s essential that any type of block can be made foldable/nestable (not just headers) - this includes plain text, but also images and even Relations
2 Likes

yeah, definitely a lacking feature.

Note to developers: Create these toggles in such a way that columns and other stylish formatting remain unchanged after moving under the toggle, unlike in Notion.

3 Likes