Inline object creation and modification

WHAT DO YOU RECOMMEND

I would like to have inline object creation and modification using a popup modal on the go without leaving the page.
What I imagine is using @ to create a new object and also decide what type of object it should be.
It would be even more powerful if I could set and modify relations just by using the keyboard without leaving the current page. that would improve the speed of populating objects within the editor dramatically.

(As a power user I wish I could do more with keyboard only in general)

HOW COULD IT BE DONE

  1. Type @

  2. followed by the name of the object

  3. popup modal: + create object β€œxyz” > (for discoverability consider β€œchevron right” indicating more options)
    a. Press Enter to create the default type or

  4. Press arrow right to enter a type dropdown:

    + create object β€œxyz” > |Filter types…
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    +Create new type
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    Book
    Bookmark
    Contact
    …

    a. Enter to select type and exit dialogue or

  5. arrow right to enter relation dropdown - use arrow up / down to navigate

    + create object β€œxyz” / :card_index: Contact > |Filter relations…
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    +Create new relation
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    βŒ‚ Tag
    βœ† Phone
    @ Email
    …

    a. Enter to select relation
    b. Type in value or select an option (depending on the relation) and confirm with Enter

    + create object β€œxyz” / :card_index: Contact / βŒ‚ Tag > |Select Tags…
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    +Create new Tag
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    [family]
    [friends]
    [work]
    …

    c. Enter again to exit the dialogue or

  6. arrow right to enter relation dropdown again:

    + create object β€œxyz” / :card_index: Contact > |Filter relations…
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    +Create new relation
    β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
    βŒ‚ Tag
    βœ† Phone
    @ Email
    …

    to manipulate more relations:

    + create object β€œxyz” / :card_index: Contact / @ Email > mail@xyz.org|

(and repeat if wanted ; )

REAL WORLD USE CASES

A scenario could be writing a journal entry and I want to mention a β€œnew” person and also set the tag β€œwork” and maybe add some contact details. All without leaving the current journal page.

9 Likes

Thanks @philoup solid Feature Request. Described like a pro!

1 Like

@philoup thanks for this request! I just want to link this bug report as I think it is tightly related to your feature request.

One addition based on the current behavior: in your step 3 we currently get a list of existing objects with the option to create a new Object. I think that is very valuable. That would require a slight alteration to your step 4. I guess a hot key for opening a second modal to allow the user to select the type in the case a new Object was create from scratch.

1 Like

Thanks :slight_smile: I just edited the request and added some visual elements to show what I imagine.

2 Likes

I did a bit more digging and compiled a stack of topics which are tangentially related to yours. Some going rather deep to describe a flow similar to (if not entirely achieved by) what is illustrated in your feature request.

Some light reading for a rainy day:

3 Likes

What a comprehensive description @philoup. Thank you so much for your efforts. I will add this to our plan on enriching overall editor functionality. We could start to digging deeper into this after public release and launch of collaboration. So it will take some time but eventually we will get to this request. I think realistic estimation is a next year. :saluting_face:

3 Likes