hfhbd
02/10/2022, 5:19 PMElementBuilderImplementation
private? How do you implement new html elements, without copying this class?Oleksandr Karpovich [JB]
02/10/2022, 5:23 PMhfhbd
02/10/2022, 5:24 PMCanvas
and HtmlCanvasElement
😄Oleksandr Karpovich [JB]
02/10/2022, 5:28 PMhfhbd
02/10/2022, 5:31 PMTagElement
? I use 1.0.1
, so this would be the code:
@Composable
fun Canvas(
attrs: AttrBuilderContext<HTMLCanvasElement>? = null,
content: ContentBuilder<HTMLCanvasElement>? = null
) {
TagElement(
elementBuilder = Canvas,
applyAttrs = attrs,
content = content
)
}
private val Canvas: ElementBuilder<HTMLCanvasElement> = ElementBuilderImplementation("canvas") // private!
Oleksandr Karpovich [JB]
02/10/2022, 5:33 PMOleksandr Karpovich [JB]
02/10/2022, 5:35 PMhfhbd
02/10/2022, 5:36 PMhfhbd
02/10/2022, 5:39 PMOleksandr Karpovich [JB]
02/10/2022, 5:39 PMhfhbd
02/10/2022, 5:40 PMDavid Herman
02/10/2022, 6:27 PMDavid Herman
02/10/2022, 6:28 PM<span class="highlight">some text</span>
)David Herman
02/10/2022, 6:29 PMOleksandr Karpovich [JB]
02/10/2022, 6:34 PMDavid Herman
02/10/2022, 6:41 PMDavid Herman
02/10/2022, 6:41 PMDavid Herman
02/10/2022, 6:45 PMOleksandr Karpovich [JB]
02/10/2022, 6:55 PMDavid Herman
02/10/2022, 6:57 PMOleksandr Karpovich [JB]
02/10/2022, 7:06 PMDavid Herman
02/10/2022, 7:12 PM@Composable
fun DivOrSpan(useDiv: Boolean, @Composable content: () -> Unit) {
if (useDiv) Div { content() } else Span { content() }
}
@Composable
fun SomeWidget() {
var useDiv by { mutableStateOf(true) }
DivOrSpan(useDiv) {
Text("Hello")
}
Button(onClick = { useDiv = !useDiv })
}
hfhbd
02/10/2022, 9:00 PMOleksandr Karpovich [JB]
02/10/2022, 9:07 PMhfhbd
02/10/2022, 9:15 PMrnett
02/11/2022, 2:49 AMtag
parameter const
Oleksandr Karpovich [JB]
02/11/2022, 10:07 AM@Composable
fun TagName(const tagName: String, ...)
so only a const value can be used as an argument for tagName?
i think it might help. at the same time, it seems to be a really rare use case.
to be honest I've never had such a need before 🙂 (unlike cases described in KT-14652)rnett
02/11/2022, 4:37 PMpaoloconte
02/17/2022, 8:15 AMhfhbd
02/17/2022, 8:43 AM