From ffca465f04f638f5019cec296ea7671dff014163 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 5 Jun 2025 10:59:32 -0500 Subject: [PATCH] Add option to specify Comparator, for custom sorting of options [skip ci] --- ...onePossibleValueSourceMetaDataProvider.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/common/TimeZonePossibleValueSourceMetaDataProvider.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/common/TimeZonePossibleValueSourceMetaDataProvider.java index fa06e309..33d21c04 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/common/TimeZonePossibleValueSourceMetaDataProvider.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/common/TimeZonePossibleValueSourceMetaDataProvider.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.core.model.common; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.TimeZone; import java.util.function.Function; @@ -47,7 +48,7 @@ public class TimeZonePossibleValueSourceMetaDataProvider *******************************************************************************/ public QPossibleValueSource produce() { - return (produce(null, null)); + return (produce(null, null, null)); } @@ -56,6 +57,16 @@ public class TimeZonePossibleValueSourceMetaDataProvider ** *******************************************************************************/ public QPossibleValueSource produce(Predicate filter, Function labelMapper) + { + return (produce(filter, labelMapper, null)); + } + + + + /******************************************************************************* + ** + *******************************************************************************/ + public QPossibleValueSource produce(Predicate filter, Function labelMapper, Comparator> comparator) { QPossibleValueSource possibleValueSource = new QPossibleValueSource() .withName("timeZones") @@ -72,6 +83,11 @@ public class TimeZonePossibleValueSourceMetaDataProvider } } + if(comparator != null) + { + enumValues.sort(comparator); + } + possibleValueSource.withEnumValues(enumValues); return (possibleValueSource); }