metasfresh / metasfresh-webui-frontend-legacy

metasfresh Webui Frontend
GNU General Public License v2.0
57 stars 34 forks source link

Modal views: shall be easily editable without using mouse #2156

Open teosarca opened 5 years ago

teosarca commented 5 years ago
To fix this issues open problems, please use the existing branch `dev2156 -fix` (or a subranch of that, if you want)

Is this a bug or feature request?

FR

What is the current behavior?

Which are the steps to reproduce?

What is the expected or desired behavior?

Consider a view which has a numeric column which is editable.

That column shall be nice and smooth editable a user, using only the keyboard. Similar feeling like editing in Excel, i.e. write the number, press down, write the number, press down (or up).

UPDATE After discussing with @teosarca we agreed on the following behavior:

UPDATE 2 I played around with different approaches and the one described above does not feel natural. So here's how I think we should approach this:

to give some basic idea:

navigation

siemiatj commented 5 years ago

~I think we should identify what we're lacking and create separate tickets for this. Right now it's really vague, and it's really hard to think of the effort it needs. I can already say a lot of code will have to be touched as most of the navigation is still the old lump from almost 2yrs ago.~

siemiatj commented 5 years ago

@teosarca @metas-dh @metas-mk I've added some basic specification/changes that this effort will require.

siemiatj commented 5 years ago

WiP tests: http://recordit.co/qQO149n5IP

siemiatj commented 5 years ago

BASIC FLOW:

#1A User uses arrow/tab keys to traverse the table, and moves to a cell:

#2A User submits field with {enter}:

**#3A User presses {enter} on a a submitted focused field

The problem I had with lists and dropdowns is caused by the fact, that SelectionDropdown doesn't get the key event (it is killed by the TableItem). After commenting this https://github.com/metasfresh/metasfresh-webui-frontend/blob/dev-2156/src/components/table/TableItem.js#L196 it works properly. Maybe this can be safely left out ?

SHOWING WIDGETS:

The second thing this effort changes is how we control the visibility of widgets. They can either be

There's a bit of a mess over here, as there's some old code that I don't know and without tests was scared to break it.