refactor(client): add support for optional children in layout

This commit is contained in:
Elian Doran
2024-11-22 20:36:08 +02:00
parent 79b31bda76
commit 8300acd30b
2 changed files with 24 additions and 7 deletions

View File

@@ -40,6 +40,21 @@ class BasicWidget extends Component {
return this;
}
/**
* Conditionally adds the given components as children to this component.
*
* @param {boolean} condition whether to add the components.
* @param {...any} components the components to be added as children to this component provided the condition is truthy.
* @returns self for chaining.
*/
optChild(condition, ...components) {
if (condition) {
return this.child(...components);
} else {
return this;
}
}
id(id) {
this.attrs.id = id;
return this;