From 1a83bc143e795a269043c9882e42f4962334f3e7 Mon Sep 17 00:00:00 2001 From: ashis-kumar-dev Date: Sun, 7 Jan 2024 14:55:24 +0530 Subject: [PATCH 1/4] use describeSObjects instead of getGlobalDescribe - getGlobalDescribe is slower in performance --- .../main/default/classes/DynamicFormsController.cls | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/evolve-forms/main/default/classes/DynamicFormsController.cls b/evolve-forms/main/default/classes/DynamicFormsController.cls index 4a299a6..8bf23ae 100644 --- a/evolve-forms/main/default/classes/DynamicFormsController.cls +++ b/evolve-forms/main/default/classes/DynamicFormsController.cls @@ -166,8 +166,7 @@ public with sharing class DynamicFormsController { String apiNamesCsv = ''; try { - Schema.FieldSet fieldSet = Schema.getGlobalDescribe() - .get(objectApiName) + Schema.FieldSet fieldSet = getSObjectTypeByApiName .getDescribe() .fieldsets.getMap() .get(fieldSetApiName); @@ -286,7 +285,7 @@ public with sharing class DynamicFormsController { DynamicFormsController.Field[] fieldList = new List(); Map fieldsToQuery = new Map(); - SObjectType schemaType = Schema.getGlobalDescribe().get(sObjectType); + SObjectType schemaType = getSObjectTypeByApiName(sObjectType); Map fieldMap = schemaType.getDescribe() .fields.getMap(); @@ -763,4 +762,8 @@ public with sharing class DynamicFormsController { ]; } } + + private Schema.SObjectType getSObjectTypeByApiName(String sobjectApiName) { + return Schema.describeSObjects(new String[] {sobjectApiName}); + } } From c7e9772fe4762d513b9f3d7947fcb4502ae67e0a Mon Sep 17 00:00:00 2001 From: ashis-kumar-dev Date: Sun, 7 Jan 2024 14:57:37 +0530 Subject: [PATCH 2/4] fix: describeSObjects returns a list - return the first result --- evolve-forms/main/default/classes/DynamicFormsController.cls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evolve-forms/main/default/classes/DynamicFormsController.cls b/evolve-forms/main/default/classes/DynamicFormsController.cls index 8bf23ae..2221427 100644 --- a/evolve-forms/main/default/classes/DynamicFormsController.cls +++ b/evolve-forms/main/default/classes/DynamicFormsController.cls @@ -764,6 +764,6 @@ public with sharing class DynamicFormsController { } private Schema.SObjectType getSObjectTypeByApiName(String sobjectApiName) { - return Schema.describeSObjects(new String[] {sobjectApiName}); + return Schema.describeSObjects(new String[] {sobjectApiName}).get(0); } } From bc644689a876f8a5ce45f7bbc64c1c5f7f09287e Mon Sep 17 00:00:00 2001 From: ashis-kumar-dev Date: Sun, 7 Jan 2024 15:43:53 +0530 Subject: [PATCH 3/4] use lwc:if, lwc:elseif, lwc:else instead of if:true and if:false directives --- .../calculatedFieldSection.html | 32 ++++---- .../dynamicFormsCollapsibleSection.html | 10 +-- .../dynamicFormsCompactPageLayout.html | 19 ++--- .../dynamicFormsCreate.html | 12 +-- .../dynamicFormsFieldSection.html | 80 +++++++++---------- .../dynamicFormsFieldSet.html | 2 +- .../dynamicFormsRelatedRecord.html | 15 ++-- .../dynamicFormsSaveCancel.html | 11 +-- 8 files changed, 92 insertions(+), 89 deletions(-) diff --git a/evolve-forms/main/default/lwc/calculatedFieldSection/calculatedFieldSection.html b/evolve-forms/main/default/lwc/calculatedFieldSection/calculatedFieldSection.html index ea260d6..75df18e 100644 --- a/evolve-forms/main/default/lwc/calculatedFieldSection/calculatedFieldSection.html +++ b/evolve-forms/main/default/lwc/calculatedFieldSection/calculatedFieldSection.html @@ -15,9 +15,9 @@ -->