directus/directus

Emphasize unsaved state

laszlokorte asked for this feature about 1 year ago — 3 comments

laszlokorte commented about 1 year ago

Currently it's not always obvious which changes have already been saved to the DB and which not.

Let's say I have a hierarchical relation through 4 tables:

Days ---[OTM]--> Sessions --[OTM]--> Talks --[OTM]--> Speaker

Now I edit "Monday", click on "Session A" in the OTM field to edit it, then click on "Talk #1" in the session's OTM field and then on a the speaker "Peter". I change his name to "Pete".

Next I click "Save" to get back to the talk, click "Save" again to get to the session, click "Save" again to get to the day. Up until now, nothing has been saved yet.

If I leave the page now the change is lost and I do not even get a warning.

From an implementation point of view I know what's happening and that I have to save the up most parent in order to commit the changes to the DB but from a user perspective there should be a very clear indication that the (grand) child record has not been saved yet.

  1. by giving a warning if the page is left early after changes have been made
  2. by marking the child record in the OTM table as modified (eg in orange)

This should work across multiple nesting levels and for MTM fields as well.

| benhaynes commented about 1 year ago Admin

This is an excellent idea, and one that has been partially done in the past but may not be working properly. The framework should tell you if you're leaving a page that has not been saved with an alert notification. Perhaps this isn't working properly?

Also, there used to be a ticket for changing the save button from a default gray to blue when there are changes on the page that need to be saved.

Taking that one step further, it would be even better to add a style to the field label if there are unsaved changes for it. Great recommendation!

| benhaynes commented 2 months ago Admin

Two out of three of these are implemented in 6.4:

We now warn users if they are leaving a page where changes have been made

We now highlight the Save button (from gray to active) when there are unsaved changes.

We are NOT highlighting individual interfaces when a change has occurred – this would be visually cluttered and add confusion.

Join the discussion!

Sign-in with GitHub to comment