4 ms·
I don't have one on Ellie, but Ellie itself has a nice example with how it wraps CodeMirror (https://github.com/ellie-app/ellie/blob/master/assets/src/Ellie/Ui/
by antew 7y ago
I don't have one on Ellie, but Ellie itself has a nice example with how it wraps CodeMirror (https://github.com/ellie-app/ellie/blob/master/assets/src/Ellie/Ui/CodeEditor.elm https://github.com/ellie-app/ellie/blob/master/assets/src/El...)
I don't know if there is a formal name for this pattern, but we've been calling in the "un-attr" pattern, you define an opaque type like
type Attribute msg
= Attr (Html.Attribute msg)
And then expose functions that allow you to set attributes you whitelist. In the JS you use setters to hook into when the attribute changes and respond to it (https://github.com/ellie-app/ellie/blob/master/assets/src/Ellie/Ui/CodeEditor.js#L193-L199 https://github.com/ellie-app/ellie/blob/master/assets/src/El...)