@Override public boolean isEmpty() { if (!emptyCached) { empty = delegate.isEmpty(); emptyCached = true; if (empty) { availableRows = 0; availableRowsCached = true; } } return empty; }
Object setupRender() { if (formSupport != null) { formSupport.store(this, SETUP_DATA_SOURCE); } setupDataSource(); // If there's no rows, display the empty block placeholder. return !renderTableIfEmpty && cachingSource.isEmpty() ? empty : null; }
Object beginRender(MarkupWriter writer) { // Skip rendering of component (template, body, etc.) when there's nothing to display. // The empty placeholder will already have rendered. if (cachingSource.isEmpty()) return !renderTableIfEmpty ? false : null; if (inPlace && zone == null) { javaScriptSupport.require("t5/core/zone"); writer.element("div", "data-container-type", "zone"); didRenderZoneDiv = true; // Through Tapestry 5.3, we had a specific id for the zone that had to be passed down to the // GridPager and etc. That's no longer necessary, so zone will always be null or "^". We don't // even need any special ids to be allocated! zone = "^"; } return null; }