From 4d7c7f48bed2a50f99930b0165b1fc72964bc90a Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 15 Mar 2023 17:00:37 -0500 Subject: [PATCH] Add maxRows field (todo - show in UI if you didn't fetch all?) --- .../widgets/ChildRecordListRenderer.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java index 6f5f5b5e..5a068d8d 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java @@ -53,6 +53,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.joins.JoinOn; import com.kingsrook.qqq.backend.core.model.metadata.joins.QJoinMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.utils.JsonUtils; +import com.kingsrook.qqq.backend.core.utils.StringUtils; import com.kingsrook.qqq.backend.core.utils.ValueUtils; import org.apache.commons.lang.BooleanUtils; @@ -117,6 +118,17 @@ public class ChildRecordListRenderer extends AbstractWidgetRenderer + /******************************************************************************* + ** + *******************************************************************************/ + public Builder withMaxRows(Integer maxRows) + { + widgetMetaData.withDefaultValue("maxRows", maxRows); + return (this); + } + + + /******************************************************************************* ** *******************************************************************************/ @@ -151,6 +163,12 @@ public class ChildRecordListRenderer extends AbstractWidgetRenderer QJoinMetaData join = input.getInstance().getJoin(joinName); String id = input.getQueryParams().get("id"); + Integer maxRows = null; + if(StringUtils.hasContent(input.getQueryParams().get("maxRows"))) + { + maxRows = ValueUtils.getValueAsInteger(input.getQueryParams().get("maxRows")); + } + //////////////////////////////////////////////////////// // fetch the record that we're getting children for. // // e.g., the left-side of the join, with the input id // @@ -182,6 +200,7 @@ public class ChildRecordListRenderer extends AbstractWidgetRenderer queryInput.setShouldTranslatePossibleValues(true); queryInput.setShouldGenerateDisplayValues(true); queryInput.setFilter(filter); + queryInput.setLimit(maxRows); QueryOutput queryOutput = new QueryAction().execute(queryInput); QTableMetaData table = input.getInstance().getTable(join.getRightTable());