about summary refs log tree commit diff stats
path: root/gomponents.go
diff options
context:
space:
mode:
Diffstat (limited to 'gomponents.go')
-rw-r--r--gomponents.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/gomponents.go b/gomponents.go
index de46b7c..1986a1e 100644
--- a/gomponents.go
+++ b/gomponents.go
@@ -222,11 +222,11 @@ func Group(children []Node) Node {
 // Example:
 // 	items := []string{"hat", "partyhat"}
 //
-// 	lis := g.Map(len(items), func(i int) g.Node {
-// 		return g.El("li", g.Text(items[i]))
+// 	lis := Map(len(items), func(i int) Node {
+// 		return El("li", Text(items[i]))
 // 	})
 //
-// 	list := g.El("ul", lis...)
+// 	list := El("ul", lis...)
 func Map(length int, cb func(i int) Node) []Node {
 	var nodes []Node
 	for i := 0; i < length; i++ {
@@ -234,3 +234,16 @@ func Map(length int, cb func(i int) Node) []Node {
 	}
 	return nodes
 }
+
+// If condition is true, return the given Node. Otherwise, return nil.
+// This helper function is good for inlining elements conditionally.
+// Example:
+// 	El("div",
+//		If(showMessage, El("span", "You lost your hat.")),
+//	)
+func If(condition bool, n Node) Node {
+	if condition {
+		return n
+	}
+	return nil
+}