Added WhenNotEmpty component.
This commit is contained in:
parent
734012c401
commit
a034dafe24
@ -1,10 +1,7 @@
|
||||
package groowt.view.component.web
|
||||
|
||||
import groowt.view.component.context.DefaultComponentScope
|
||||
import groowt.view.component.web.lib.Each
|
||||
import groowt.view.component.web.lib.Echo
|
||||
import groowt.view.component.web.lib.IntrinsicHtml
|
||||
import groowt.view.component.web.lib.WhenNotNull
|
||||
import groowt.view.component.web.lib.*
|
||||
import org.codehaus.groovy.runtime.InvokerHelper
|
||||
|
||||
import static WebViewComponentFactories.withAttr
|
||||
@ -15,6 +12,7 @@ class DefaultWebViewComponentScope extends DefaultComponentScope implements WebV
|
||||
new DefaultWebViewComponentScope().tap {
|
||||
addWithAttr(Echo)
|
||||
addWithAttr(Each)
|
||||
addWithAttr(WhenNotEmpty)
|
||||
addWithAttr(WhenNotNull)
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
package groowt.view.component.web.lib
|
||||
|
||||
import groowt.view.View
|
||||
import groowt.view.component.runtime.DefaultComponentWriter
|
||||
|
||||
class WhenNotEmpty extends DelegatingWebViewComponent {
|
||||
|
||||
private final Collection items
|
||||
|
||||
WhenNotEmpty(Map attr) {
|
||||
items = attr.items
|
||||
}
|
||||
|
||||
@Override
|
||||
protected View getDelegate() {
|
||||
return { Writer w ->
|
||||
if (!items.empty) {
|
||||
def cw = new DefaultComponentWriter(w, context.renderContext, context)
|
||||
children.each { cw << it }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user