haxeui / haxeui-openfl

The OpenFL backend of the HaxeUI framework -
http://haxeui.org
MIT License
42 stars 14 forks source link

checkbox, optionbox cant be selected by label click on html5 platform #29

Closed Helgiii closed 5 years ago

Helgiii commented 6 years ago

on flash it works ok on html5 - not) very inconvinient to click those small areas thanx)

intoxopox commented 5 years ago

Work-around: Add a background-color, then set its background-opacity to 0. .checkbox { background-color: #ffffff; background-opacity: 0; }

Note: This is fixed in new-component-method branch.

Helgiii commented 5 years ago

thanx, I tried your workaround - but no luck with that. then I tried just .checkbox { background-color: #ffffff; } the background appeared but was not clickable again, so i click the label of checkbox and checkbox's state is not changing. Do you think it's a good idea to switch to that branch new-component-method and use it in production?

ianharrigan commented 5 years ago

It may be worth switching to new component, at least to see if you have any problems, obviously i dont know your application, but i doubt there would be any significant changes (events have moved, thats hopefully all i can think of off hand that may affect you), it is possible, however, that some apis are matched 1 -> 1, in which case i would love to know about them :)

let me know if i can help in someway,

Cheers, Ian

Helgiii commented 5 years ago

I switched to new-component-method, it compiles but I get a runtime error in flash:

Type$/createInstance at C:\HaxeToolkit\haxe\std\flash_std\Type.hx:134 haxe.ui.core::Component/create at C:\HaxeToolkit\haxe\lib\haxeui-core\git\haxe\ui\core\Component.hx:105 haxe.ui.core::Component at C:\HaxeToolkit\haxe\lib\haxeui-core\git\haxe\ui\core\Component.hx:86 haxe.ui.components::Label at C:\HaxeToolkit\haxe\lib\haxeui-core\git\haxe\ui\components\Label.hx:12 ...

[Fault] exception, information=ArgumentError: Error #1063: Argument count mismatch on haxe.ui.components._Label::Builder(). Expected 0, got 1.

and in html5 it is: Uncaught TypeError: Cannot read property 'invalidateComponent' of null at haxe_ui_components__$Label_TextBehaviour.invalidateData (DataBehaviour.hx:27) at haxe_ui_components$Label_TextBehaviour.set (DataBehaviour.hx:15) at haxe_ui_behaviours_Behaviours.set (Behaviours.hx:170) at haxe_ui_components_Label.set_text (Component.hx:42) at gui_PanelSide.InitUi (PanelSide.hx:315) at gui_PanelSide.Init (PanelSide.hx:261) at DocumentClass.InitApp (Main.hx:563) at DocumentClass.Main [as class__] (Main.hx:116) at new DocumentClass (ApplicationMain.hx:326) at Function.ApplicationMain.start (ApplicationMain.hx:230)

ianharrigan commented 5 years ago

erm... thats strange - minimal test app? :)

ianharrigan commented 5 years ago

Also, what version of haxe?

Helgiii commented 5 years ago

oh looks like it was -dce full that caused that problem, I removed it and app ran ok (not tested it fully yet)

ianharrigan commented 5 years ago

hmmm... ok, thats good to know... that should work... so the new component method might needs some @:keeps or something. Let me know if that isnt the case. (Could you possibly open a new issue on haxeui-core if that is the case??)

Thanks!

Helgiii commented 5 years ago

this issue is fixed in the new-component-method branch