From 875ca72b379a670fb2fff241c1c51bb68f02a853 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 18 Sep 2024 16:02:37 +0100 Subject: [PATCH] Fix: All constraints considered #2882 and organise cred list alphabatically #2782 --- .../get_credentials_from_filter_list.dart | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/get_credentials_from_filter_list.dart b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/get_credentials_from_filter_list.dart index 95cafaac7..e1649273f 100644 --- a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/get_credentials_from_filter_list.dart +++ b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/get_credentials_from_filter_list.dart @@ -13,8 +13,10 @@ List getCredentialsFromFilterList({ /// remove ldp_vp if jwt_vp is required final selectedCredential = []; - for (final field in filterList) { - for (final credential in credentialList) { + + for (final credential in credentialList) { + fieldLoop: + for (final field in filterList) { for (final path in field.path) { final credentialData = createJsonByDecryptingSDValues( encryptedJson: credential.data, @@ -63,12 +65,29 @@ List getCredentialsFromFilterList({ if (searchList.isNotEmpty) { selectedCredential.add(credential); } else { - break; + break fieldLoop; } } } } - return selectedCredential.toSet().toList(); + + final credentials = selectedCredential.toSet().toList(); + + credentials.sort( + (a, b) { + final firstCredName = a.display?.name ?? + a.credentialPreview.credentialSubjectModel.credentialSubjectType + .name; + final secondCredName = b.display?.name ?? + b.credentialPreview.credentialSubjectModel.credentialSubjectType + .name; + + return firstCredName.compareTo(secondCredName); + }, + ); + + return credentials; } + return credentialList; }