js_of_ocaml icon indicating copy to clipboard operation
js_of_ocaml copied to clipboard

[BUG][Tyxml] multiple a_class for a single element are not supported.

Open clembu opened this issue 5 years ago • 3 comments

Describe the bug Given the following function:

let wrap ?(a = []) contents =
 Js_of_ocaml_tyxml.Tyxml_js.Html.(div ~a:(a_class [ "wrapper" ] :: a) contents)

calling wrap ~a:[a_class [ "some-other-class" ]] some_contents results in a structure having either only "wrapper" or "some-other-class".

Expected behavior The classes are gathered into a single list and properly reflect the final list of attributes, without having to separate classes, event handlers, and all others, in order to bundle them all at the lowest structure-creation level.

Versions Ocaml: 4.08.1 Js_of_ocaml-tyxml: 3.5.2

clembu avatar Feb 22 '20 18:02 clembu

@Drup, is this something we would want to support in tyxml directly ?

hhugo avatar Mar 18 '20 13:03 hhugo

I'm not sure, do you have a pragmatic solution ? I feel like we should treat attributes as an string table, instead of an association list, and ask concrete implementation to do the right thing.

Drup avatar Mar 18 '20 13:03 Drup

I do not have any solution in mind, I didn't really think about it.

hhugo avatar Mar 18 '20 14:03 hhugo