-
Notifications
You must be signed in to change notification settings - Fork 34
Lookup revamp – collective issue #600
Comments
@Dunkat @damianprzygodzki if any aspect of lookup is missing – let me know here. |
Few videos showing how revamp will affect UX: |
@cadavre thanks. checked. I like very much. workflow and cases fit well and will guide the user much better. |
Hi guys, Please also consider and fix this case too: |
@teosarca as i told you, this case is not even occurring in new lookup. |
More, quick talked with @damianprzygodzki and i understood that: when user starts typing into a lookup record, the frontend is PATCHing the value with "NULL" first and then it will PATCH with the new value when user picks one. I think this approach is not correct because in case we have some validation logics on some fields, it might be that an exception will be thrown when the field is patched with NULL because it's simply not allowed/not a valid value. More, PATCHing a field with NULL when user did not actually set it to NULL is not natural. PS: if what i understood is not correct, pls ignore this message. |
We have this not yet 100% tested and few things are going to change slightly. Intro: tl;dr:
This way backend will have full decision making possibility – to one of: send default values for nulled children OR send back info about validation. |
About #604 (comment) We're restoring back OLD value because we NEED to reflect to user what is really saved in backend's database. If user won't make any change – we want to make him aware of what is saved in database – this way we're restoring old value, which makes user perfectly clear about this. Also backend IS NOT aware of that user removed few chars from input and it makes no difference for backend. Imagine case when user goes into input, removes "ed" from already filled and selected "Filled" value and wants to cancel his action (and bring back old value) – how shall he possibly do it? No way. User makes change of selected value ON ACTUAL change, not entering some chars into input, because it's TYPEAHEAD fields which uses entering digits for SEARCHING for possibility TO SELECT. It's easy to describe and show with real use-case and typeahead flow pattern. :) |
Not really, i was proposing that solution to |
Lookup revamp – collective issue #600
Quick tested: the Readonly flag is not respected.
|
Readonly flag is not respected #600
found this case while testing another task:
|
[#819](metasfresh/metasfresh-webui-frontend-legacy#819) HTTP header "Accept-Language" shall be correctly set [#1663](#1663) new order checkup jasper [#1687](#1687) Refactor Request Tab in Partner Window to allow zoom and advanced edit [#1239](#1239) Barcode on Bestellkontrolle report [#428](metasfresh/metasfresh-webui-api-legacy#428) internal: Include AD_Language in layout ETags [#376](metasfresh/metasfresh-webui-api-legacy#376) Hide Roles on Logon that are not ideal for WebUI [#426](metasfresh/metasfresh-webui-api-legacy#426) internal: JSONDocument - drop "fields" array field [#600](metasfresh/metasfresh-webui-frontend-legacy#600) Lookup revamp – collective issue [#425](metasfresh/metasfresh-webui-api-legacy#425) API support for bookmarking menu items [#86](metasfresh/metasfresh-webui-api-legacy#86) Check and get rid of "Parameter 'UOMConversion' not found in context" console warnings [#812](metasfresh/metasfresh-webui-frontend-legacy#812) 1 Key Press save action error during typing [#1701](#1701) Customer Return Window additional Fields [#801](metasfresh/metasfresh-webui-frontend-legacy#801) Included row: show row's references in context menu [#744](metasfresh/metasfresh-webui-frontend-legacy#744) product/packing lookup does nothing when clicking on the single result [#1640](#1640) fix prepare_services_superuser.sh [#810](metasfresh/metasfresh-webui-frontend-legacy#810) quickInput endpoints are wrongly called [#415](metasfresh/metasfresh-webui-api-legacy#415) Notification for Vendor returns jumps to wrong window [#418](metasfresh/metasfresh-webui-api-legacy#418) Disable zoom into string lookups until it's fixed [#1644](#1644) Add email validator syntax [#410](metasfresh/metasfresh-webui-api-legacy#410) Provide view row field zoom-into endpoint me-45
Tested. Works nicely as required. Closing/ Done. |
I'm wrapping here issues: #161 #373 #531 #570 #568 . We're few long months right now after creating a vision of lookup – in meantime there was keyboard handling added to system, auto-filling with default values and more... This issue is a wrap of how it should finally look, taking into consideration nowadays assumptions.
Assumptions
n+1
infields
array is considered as child to predecessors.Focus on lookup while opening document
Navigation
Keyboard navigation
Mouse navigation
Clearing fields
"Mandatory" and "validation" borders
Lookup state
valid: false
– lookup is considered as invalid: false
state.[if (!field1.valid or !field2.valid or !field3.valid) then lookup.valid = false]
initialValue: true
– lookup is considered as ininitialValue: true
state.[if (field1.initialValue or field2.initialValue or field3.initialValue) then lookup.initialValue = true]
Borders
initialValue: true
gives blue border.initialValue: false
and any mandatory field gets cleared (lookup getsvalid: false
) – border goes red.valid: true
.Layouting
width={int}
. I.e. for two fields we want first to be 75% and second 25% we define per field:width=3
andwidth=1
(3+1=4 and 3/4=75% and 1/4=25%) like inflex-grow
CSS.The text was updated successfully, but these errors were encountered: