What I’m trying to do:
Type a width or x y coordinate in the properties box of a control like a Text Box. Any time I type just 1 number it refreshes the form and I have to go back to the property again to type the next number and it refreshes the form again. Is there a way around this? This is extremely frustrating.
What I’ve tried and what’s not working:
Tried different browsers with the same results. Mostly Chrome and Edge. I have even tried using the up and down arrows in the property I want to modify with the same results. I click the up arrow and the entire form refreshes, etc.
Hi @tolodine and welcome to the forum,
Which specific properties are you changing? A screen shot/ screen recording might be useful here.
I said width and x y coordinates because it does it with ALL controls. Not just one. I put a text box as an example but here is the screenshot of the properties.
Thanks. Yes these are not properties of a TextBox but container properties when you place the TextBox in an XYPanel. Do you have a lot of components on the form? Just a few? A clone link might be helpful so we can replicate what’s frustrating about the behaviour. I imagine it becomes more annoying the more components you have. But if it’s a single XYPanel with a single TextBox then that’s enough for us to go and take a look.
I guess worth nothing you should also be able to drag the TextBox around the XYPanel to place it how where you want.
I just tested it and yes it does it with just one. I created a XY Panel and just put a text box in it. As you can see, in the width I got to type just a 1 before it refreshed.
As far as the dragging and dropping goes, the boxes definitely don’t stay where I put them. I drag one up or sideways and it will just put it where it thinks it will go instead of where I drug it to. I just wrote that off as a limitation. Now I think it might be because of the refresh when it changes the X Y coordinates.
As an aside a TextBox in an XYPanel might not be what you want. Having fixed x, y coordinates doesn’t always work well on different screen sizes.
That was just an example. It does it with any width property or xy coordinate on any control or container I use. A label, text box, image, you name it. I would show you my original form but I deleted it because the interface was getting too frustrating and I was going to just delete the project and use something else. I was creating a 3.5e dnd character sheet that I was going to automate in python. It requires flexibility in where the controls are placed. I had only started using the xy panel because not everything is going to line up perfectly with each other. I was using the column panel for the first part and first started noticing it when I checked the box for full_width on the container or any of the controls. As soon as I checked the box everything refreshed. It is when I started using the xy panel that it started to get very frustrating. So I decided to ask about it and see if it was a bug. You have one of the best interface editors for this kind of stuff so I decided to try it. Anvil is a feat of the imagination. I love it. I just don’t want to have to make an interface like this through programming line by line and trial and error. It is much easier visually.
Moved to bug reports - just tried to reproduce, and yes it’s definitely a bug.
We’ll get that fixed and update this thread when that’s done.
Thanks for reporting.
Thank you. You are very helpful. I really appreciate it.
Expect the fix to go live when the UK wakes up.
This should now be fixed
I am sorry I didn’t get back sooner. It is fixed. Thank you very much.
this looks really cool, I hope you succeed with your project
So far I have ran into nothing but issues with the form layout. Flow Panel wraps so if the form gets too small it creates a second line and messes everything up. Column Panel doesn’t have the flexibility of control width that the flow panel does and the columns snap to an invisible grid so the control is either too big or too small. I need a panel that has the flexibility of a flow panel for width but doesn’t wrap and I need more control of the column gaps. I will get it. Will just take quite a bit of trial and error.
Some of that stuff like auto-wrapping can be disabled from being the default by using roles:
…or you can create more advanced custom components that mix the capabilities of multiple standard component types together. If you start small, like with the spacing issues, you can then layer functionality on top after you have passed the problem with layouts.
Yep… the roles are actually pretty fun to use for me. I know CSS but mostly for text, body, html components in general. What I don’t know is the css to control the panels in anvil. I have tried several things but nothing seems to work so I am not afraid to admit that I am definitely doing something wrong with the panel css. I can stop text from wrapping but not an entire panel. lol