vaadin / designer

Public repository for Vaadin Designer
https://vaadin.com/designer
16 stars 3 forks source link

Drop target visualization differs very much between empty and non empty containers. #2289

Open stefanuebe opened 4 years ago

stefanuebe commented 4 years ago

I created a new view with an initial header / footer layout. When dragging a new component (e.g. text field) to the canvas, the respective dragged over container is marked cyan and its name appear on the top of it to show the user, where it would be added when dropped. That's fine.

As soon as a component is already inside that respective component, this behavior is "lost". Instead a small indicator line is shown beside the existing component to show, where the new element would be placed.

That may irritate users, as they might expect a different outcome after that different visualization.

Steps to reproduce

  1. Create a new header / footer view.
  2. Drag a text field from the palette over to the canvas. The layouts should be colored when dragging over.
  3. Drop the text field in the header layout.
  4. Drag another text field from the palette to the layout. The center and footer still become colored. The header does not, instead it shows the small line beside the existing field.

Actual behavior

See above

Expected behavior

To be honest, I have no idea, which visualization would be best here. Please consider this more like some feedback, that at least I was a bit confused about these different visual behaviors 😄

IDE, Designer and OS version

Designer 4.5.0, Chrome Designer, Windows 10

Peppe commented 4 years ago

I also don't have an idea what it should look like to be similar when you drag on something that already has a component. It shouldn't replace the existing component, but add a second one.

stefanuebe commented 4 years ago

After some going into me, I thought of something simple by somehow "mixing" both.

Marking the drop target as known from other drop targets around the world (😄) by marking it with a specific, thick colored border and some background coloring as it is now somehow for empty containers.

Plus showing an indicator, where the element will likely be placed, as it is now for non empty containers.

Example: (The gray box symbolizes an existing component in the container)

image

stale[bot] commented 4 years ago

Hello there!

It looks like this issue hasn't progressed lately. There are so many issues that we just can't deal them all within a reasonable timeframe.

There are a few things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!