From 1ddddd4f24171382ef00b40765b9a3027ee56511 Mon Sep 17 00:00:00 2001 From: tomansley Date: Mon, 19 Aug 2024 10:38:03 -0500 Subject: [PATCH] Sergey refactoring and Tom change to search to allow multiple criteria --- .../classes/ListViewTypeAheadController.cls | 26 +++++--- .../ListViewTypeAheadControllerTest.cls | 8 ++- .../simpliUIListViews/simpliUIListViews.css | 2 +- .../simpliUIListViews/simpliUIListViews.js | 60 +++++++++---------- ...mpliUIListViewsActionCreateWizardModal.css | 2 +- .../simpliUIListViewsActionModal.css | 2 +- .../simpliUIListViewsAdmin.css | 2 +- .../simpliUIListViewsAdminModal.css | 2 +- .../simpliUIListViewsAdminModal.js | 4 +- .../SimpliUIListViewsExportImport.css | 2 +- .../simpliUIListViewsHelper.js | 2 +- .../simpliUIListViewsHoverDetail.css | 2 +- .../simpliUIListViewsInitCard.css | 2 +- .../SimpliUIListViewsLookup.css | 2 +- .../simpliUIListViewsScheduleJob.css | 2 +- .../simpliUIListViewsSpinner.css | 2 +- .../simpliUIListViewsTestComp.css | 2 +- .../simpliUIListViewsTypeAhead.css | 2 +- .../simpliUIListViewsTypeAhead.js | 25 ++++---- 19 files changed, 83 insertions(+), 68 deletions(-) diff --git a/force-app/main/default/classes/ListViewTypeAheadController.cls b/force-app/main/default/classes/ListViewTypeAheadController.cls index ffed44d..915bcea 100644 --- a/force-app/main/default/classes/ListViewTypeAheadController.cls +++ b/force-app/main/default/classes/ListViewTypeAheadController.cls @@ -23,8 +23,7 @@ public with sharing class ListViewTypeAheadController { if (String.isBlank(whereClauseJSON)) { soql = 'SELECT Id, ' + String.escapeSingleQuotes(labelFieldName) + ', ' + String.escapeSingleQuotes(keyFieldName) + ' FROM ' + String.escapeSingleQuotes(objName) + ' LIMIT 100'; } else { - WhereClause clause = (WhereClause) JSON.deserialize(whereClauseJSON, WhereClause.class); - String whereStatement = clause.getWhereClause(); + String whereStatement = createWhereClause(whereClauseJSON); soql = 'SELECT Id, ' + String.escapeSingleQuotes(labelFieldName) + ', ' + String.escapeSingleQuotes(keyFieldName) + ' FROM ' + String.escapeSingleQuotes(objName) + ' WHERE ' + whereStatement + ' LIMIT 100'; } } @@ -32,8 +31,7 @@ public with sharing class ListViewTypeAheadController { if (String.isBlank(whereClauseJSON)) { soql = 'SELECT Id, ' + String.escapeSingleQuotes(labelFieldName) + ', ' + String.escapeSingleQuotes(keyFieldName) + ' FROM ' + String.escapeSingleQuotes(objName) + ' WHERE ' + String.escapeSingleQuotes(labelFieldName) + ' LIKE \'%' + String.escapeSingleQuotes(searchTerm) + '%\' LIMIT 100'; } else { - WhereClause clause = (WhereClause) JSON.deserialize(whereClauseJSON, WhereClause.class); - String whereStatement = clause.getWhereClause(); + String whereStatement = createWhereClause(whereClauseJSON); soql = 'SELECT Id, ' + String.escapeSingleQuotes(labelFieldName) + ', ' + String.escapeSingleQuotes(keyFieldName) + ' FROM ' + String.escapeSingleQuotes(objName) + ' WHERE ' + whereStatement + ' AND ' + String.escapeSingleQuotes(labelFieldName) + ' LIKE \'%' + String.escapeSingleQuotes(searchTerm) + '%\' LIMIT 100'; } } @@ -59,15 +57,14 @@ public with sharing class ListViewTypeAheadController { if (hasWhereClause) { - WhereClause clause = (WhereClause) JSON.deserialize(whereClauseJSON, WhereClause.class); - String whereStatement = clause.getWhereClause(); + List clauses = (List) JSON.deserialize(whereClauseJSON, List.class); - if (clause.operator == 'NOT IN') + if (clauses[0].operator == 'NOT IN') isInc = false; else isInc = true; - objs = clause.getValuesList(); + objs = clauses[0].getValuesList(); } for (String apiName : objMap.keySet()) @@ -79,7 +76,7 @@ public with sharing class ListViewTypeAheadController { String label = objMap.get(apiName); if (searchTerm == '') options.add(new ListViewController.SelectOption(apiName, label)); - else if (label.toLowerCase().contains(searchTerm)) + else if (label.toLowerCase().contains(searchTerm.toLowerCase())) options.add(new ListViewController.SelectOption(apiName, label)); } @@ -106,6 +103,17 @@ public with sharing class ListViewTypeAheadController { return (String) Database.query(soql)[0].get(String.escapeSingleQuotes(labelFieldName)); } + private static String createWhereClause(String whereClauseJSON) + { + String whereStatement = ''; + List clauses = (List) JSON.deserialize(whereClauseJSON, List.class); + for (WhereClause clause: clauses) + whereStatement += clause.getWhereClause() + ' AND '; + whereStatement = whereStatement.removeEnd(' AND '); + + return whereStatement; + } + public class WhereClause { public String field {get; set;} diff --git a/force-app/main/default/classes/ListViewTypeAheadControllerTest.cls b/force-app/main/default/classes/ListViewTypeAheadControllerTest.cls index 0d7b9aa..f441636 100644 --- a/force-app/main/default/classes/ListViewTypeAheadControllerTest.cls +++ b/force-app/main/default/classes/ListViewTypeAheadControllerTest.cls @@ -17,12 +17,14 @@ public with sharing class ListViewTypeAheadControllerTest { List options = ListViewTypeAheadController.search('schema', 'Acc', 'SObject', 'Label', 'Name', null); System.assert(options.size() > 0); + List clauses = new List(); ListViewTypeAheadController.WhereClause whereClause = new ListViewTypeAheadController.WhereClause(); whereClause.field = 'simpli_lv__Object_Name__c'; whereClause.operator = 'NOT IN'; whereClause.values = 'Contact'; + clauses.add(whereClause); - options = ListViewTypeAheadController.search('schema', 'Contact', 'SObject', 'Label', 'Name', JSON.serialize(whereClause)); + options = ListViewTypeAheadController.search('schema', 'Contact', 'SObject', 'Label', 'Name', JSON.serialize(clauses)); Test.stopTest(); } @@ -32,12 +34,14 @@ public with sharing class ListViewTypeAheadControllerTest { { Test.startTest(); + List clauses = new List(); ListViewTypeAheadController.WhereClause whereClause = new ListViewTypeAheadController.WhereClause(); whereClause.field = 'simpli_lv__Object_Name__c'; whereClause.operator = '='; whereClause.values = 'Account'; + clauses.add(whereClause); - List options = ListViewTypeAheadController.search('sobject', 'Acc', 'simpli_lv__List_View__c', 'simpli_lv__Label__c', 'simpli_lv__API_Name__c', JSON.serialize(whereClause)); + List options = ListViewTypeAheadController.search('sobject', 'Acc', 'simpli_lv__List_View__c', 'simpli_lv__Label__c', 'simpli_lv__API_Name__c', JSON.serialize(clauses)); System.assert(options.size() > 0); Test.stopTest(); diff --git a/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.css b/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.css index 624c5d5..f3ebc09 100644 --- a/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.css +++ b/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.css @@ -216,4 +216,4 @@ th { .slds-card__header { padding-top: 0px; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.js b/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.js index 5390cb3..1795a24 100644 --- a/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.js +++ b/force-app/main/default/lwc/simpliUIListViews/simpliUIListViews.js @@ -54,42 +54,42 @@ export default class simpliUIListViews extends NavigationMixin(LightningElement) //----------- //API FIELDS //----------- - @api mode = undefined; //indicates the mode the page is in for displaying the list view. i.e. app, single etc. - @api virtual = false; //indicates whether the list view is displaying data virtually from another org. - @api pageName = ''; //this is NOT the page name but the COMPONENT name - @api uniqueComponentId = ''; //identifies the component uniquely so that messages can be handled in a multi-component page. - @api hasMainTitle = undefined; //indicates whether the component should display the main title - @api mainTitle = 'List Views'; //the main title of the component. - @api includedObjects = ''; //indicates the objects that should be included in the list view - @api excludedObjects = ''; //indicates the objects that should be excluded in the list view. - @api joinFieldName = ''; //if the component uses data coming in from the message channel this field identifies the lookup field to use that data for. - @api useMessageChannel = false; //identifies if the message channel should be used or not. This is used when components should be passing data between each other for updates. - @api allowRefresh = false; //config indicating whether the auto refresh checkbox is made available. - @api singleClickAutoRefresh = undefined; //whether clicking a single or double time starts the auto refresh. - @api allowHorizontalScrolling = false; //config indicating whether horizontal scrolling is available on the list view - @api allowInlineEditing = false; //config indicating whether inline editing is available - @api displayRecordPopovers = false; //config indicating whether record popovers should be displayed - @api allowAdmin = false; //indicates whether the admin button should display to the user + @api mode = undefined; + @api virtual = false; + @api pageName = ''; + @api uniqueComponentId = ''; + @api hasMainTitle = undefined; + @api mainTitle = 'List Views'; + @api includedObjects = ''; + @api excludedObjects = ''; + @api joinFieldName = ''; + @api useMessageChannel = false; + @api allowRefresh = false; + @api singleClickAutoRefresh = undefined; + @api allowHorizontalScrolling = false; + @api allowInlineEditing = false; + @api displayRecordPopovers = false; + @api allowAdmin = false; @api displayActions = false; - @api typeAheadListSearch = false; //indicates whether a straight combobox or typeahead text will be used when selecting list views - @api typeAheadObjectSearch = false; //indicates whether a straight combobox or typeahead text will be used when selecting objects - @api displayReprocess = false; //indicates whether the reprocessing button should be displayed allowing core list views to be reprocessed + @api typeAheadListSearch = false; + @api typeAheadObjectSearch = false; + @api displayReprocess = false; @api displayURL = false; @api displayRowCount = false; - @api noSorting = false; //indicates whether any sorting should be allowed on the listview - @api useSimpleSorting = false; //indicates whether standard sorting should be used. + @api noSorting = false; + @api useSimpleSorting = false; @api displaySelectedCount = false; - @api displayOrigButton; //this is not used....deprecated. + @api displayOrigButton; @api displayModified = false; @api displayExportButton = false; - @api displayTextSearch = false; //identifies whether the text search field should be displayed. - @api singleListViewObject = ''; //if in SINGLE mode holds the list view object to use. - @api singleListViewApiName = ''; //if in SINGLE mode holds the list view API name to use. - @api excludedRecordPopoverTypes = ''; //Indicates those object types for which record detail popovers should not be displayed when the user moves the mouse over the record URL or name. - @api displayAllRelatedRecords = false; //Related List View Mode Only: Indicates whether all records should be displayed or scrolling should be used. - @api objectList = undefined; //holds the list of objects from which a user can choose one. - @api listViewList = undefined; //holds the set of list views for the chosen object - @api set actionList(value) //if in STANDALONE or VIRTUAL mode used when passing actions directly into the component + @api displayTextSearch = false; + @api singleListViewObject = ''; + @api singleListViewApiName = ''; + @api excludedRecordPopoverTypes = ''; + @api displayAllRelatedRecords = false; + @api objectList = undefined; + @api listViewList = undefined; + @api set actionList(value) { this.objectActionList = value; if (this.objectActionList !== undefined && this.objectActionList !== '') diff --git a/force-app/main/default/lwc/simpliUIListViewsActionCreateWizardModal/SimpliUIListViewsActionCreateWizardModal.css b/force-app/main/default/lwc/simpliUIListViewsActionCreateWizardModal/SimpliUIListViewsActionCreateWizardModal.css index b1c920d..76ffc9e 100644 --- a/force-app/main/default/lwc/simpliUIListViewsActionCreateWizardModal/SimpliUIListViewsActionCreateWizardModal.css +++ b/force-app/main/default/lwc/simpliUIListViewsActionCreateWizardModal/SimpliUIListViewsActionCreateWizardModal.css @@ -4,4 +4,4 @@ .pageSpinnerHolder { position: absolute; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsActionModal/simpliUIListViewsActionModal.css b/force-app/main/default/lwc/simpliUIListViewsActionModal/simpliUIListViewsActionModal.css index 09f307a..e80bba2 100644 --- a/force-app/main/default/lwc/simpliUIListViewsActionModal/simpliUIListViewsActionModal.css +++ b/force-app/main/default/lwc/simpliUIListViewsActionModal/simpliUIListViewsActionModal.css @@ -4,4 +4,4 @@ .pageSpinnerHolder { position: relative; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsAdmin/simpliUIListViewsAdmin.css b/force-app/main/default/lwc/simpliUIListViewsAdmin/simpliUIListViewsAdmin.css index 3ca903b..c51bfc5 100644 --- a/force-app/main/default/lwc/simpliUIListViewsAdmin/simpliUIListViewsAdmin.css +++ b/force-app/main/default/lwc/simpliUIListViewsAdmin/simpliUIListViewsAdmin.css @@ -14,4 +14,4 @@ margin-right: 2%; margin-top: 20px; margin-bottom: 20px; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.css b/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.css index 155415c..0b5247f 100644 --- a/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.css +++ b/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.css @@ -6,4 +6,4 @@ .pageSpinnerHolder { position: relative; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.js b/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.js index 21ebdd2..dfa7e12 100644 --- a/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.js +++ b/force-app/main/default/lwc/simpliUIListViewsAdminModal/simpliUIListViewsAdminModal.js @@ -30,7 +30,7 @@ import Column_Styles from '@salesforce/label/c.Column_Styles'; import Font from '@salesforce/label/c.Font'; import Decoration from '@salesforce/label/c.Decoration'; import Style from '@salesforce/label/c.Style'; -import constiant from '@salesforce/label/c.constiant'; +// import constiant from '@salesforce/label/c.constiant'; import Transform from '@salesforce/label/c.Transform'; import Weight from '@salesforce/label/c.Weight'; import Alignment from '@salesforce/label/c.Alignment'; @@ -204,7 +204,7 @@ export default class simpliUIListViewsAdminModal extends NavigationMixin(Lightni label = { Close, List_View_Config, Settings, Parameter_Name, Value, Select_A_Value, Highlighting, Add_Remove, Field, Operator, Precedence, Color, Field_Name, Remove_Condition, Select_A_Column, Enter_A_Value, Add_Condition, - Update, Column_Styles, Font, Decoration, Style, constiant, Transform, Weight, Alignment + Update, Column_Styles, Font, Decoration, Style, Transform, Weight, Alignment } constructor() { diff --git a/force-app/main/default/lwc/simpliUIListViewsExportImport/SimpliUIListViewsExportImport.css b/force-app/main/default/lwc/simpliUIListViewsExportImport/SimpliUIListViewsExportImport.css index bc33cb2..c07e863 100644 --- a/force-app/main/default/lwc/simpliUIListViewsExportImport/SimpliUIListViewsExportImport.css +++ b/force-app/main/default/lwc/simpliUIListViewsExportImport/SimpliUIListViewsExportImport.css @@ -9,4 +9,4 @@ font-size: 16px; margin: 4px 2px; cursor: pointer; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsHelper/simpliUIListViewsHelper.js b/force-app/main/default/lwc/simpliUIListViewsHelper/simpliUIListViewsHelper.js index 65e13e7..7147985 100644 --- a/force-app/main/default/lwc/simpliUIListViewsHelper/simpliUIListViewsHelper.js +++ b/force-app/main/default/lwc/simpliUIListViewsHelper/simpliUIListViewsHelper.js @@ -141,5 +141,5 @@ export function showErrorMessage({ message, body }) { errorMessage = body.message; } } - console.log("Error", errorMessage); + console.error("Error", errorMessage); } \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsHoverDetail/simpliUIListViewsHoverDetail.css b/force-app/main/default/lwc/simpliUIListViewsHoverDetail/simpliUIListViewsHoverDetail.css index ff681a0..9b834d4 100644 --- a/force-app/main/default/lwc/simpliUIListViewsHoverDetail/simpliUIListViewsHoverDetail.css +++ b/force-app/main/default/lwc/simpliUIListViewsHoverDetail/simpliUIListViewsHoverDetail.css @@ -2,4 +2,4 @@ position: absolute; left: 0rem; top: -1.3rem; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsInitCard/simpliUIListViewsInitCard.css b/force-app/main/default/lwc/simpliUIListViewsInitCard/simpliUIListViewsInitCard.css index 7dd7f56..7ed2edc 100644 --- a/force-app/main/default/lwc/simpliUIListViewsInitCard/simpliUIListViewsInitCard.css +++ b/force-app/main/default/lwc/simpliUIListViewsInitCard/simpliUIListViewsInitCard.css @@ -1,3 +1,3 @@ .pageSpinnerHolder { position: absolute; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsLookup/SimpliUIListViewsLookup.css b/force-app/main/default/lwc/simpliUIListViewsLookup/SimpliUIListViewsLookup.css index 63b27b2..ab0eb81 100644 --- a/force-app/main/default/lwc/simpliUIListViewsLookup/SimpliUIListViewsLookup.css +++ b/force-app/main/default/lwc/simpliUIListViewsLookup/SimpliUIListViewsLookup.css @@ -8,4 +8,4 @@ lightning-radio-group .slds-radio_faux { .slds-modal__content { overflow: initial; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsScheduleJob/simpliUIListViewsScheduleJob.css b/force-app/main/default/lwc/simpliUIListViewsScheduleJob/simpliUIListViewsScheduleJob.css index 7dd7f56..7ed2edc 100644 --- a/force-app/main/default/lwc/simpliUIListViewsScheduleJob/simpliUIListViewsScheduleJob.css +++ b/force-app/main/default/lwc/simpliUIListViewsScheduleJob/simpliUIListViewsScheduleJob.css @@ -1,3 +1,3 @@ .pageSpinnerHolder { position: absolute; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsSpinner/simpliUIListViewsSpinner.css b/force-app/main/default/lwc/simpliUIListViewsSpinner/simpliUIListViewsSpinner.css index 1ade731..49ce2f6 100644 --- a/force-app/main/default/lwc/simpliUIListViewsSpinner/simpliUIListViewsSpinner.css +++ b/force-app/main/default/lwc/simpliUIListViewsSpinner/simpliUIListViewsSpinner.css @@ -6,4 +6,4 @@ font-weight: bold; top: calc(50% + 1rem); color: grey; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsTestComp/simpliUIListViewsTestComp.css b/force-app/main/default/lwc/simpliUIListViewsTestComp/simpliUIListViewsTestComp.css index 4a5ac47..4946073 100644 --- a/force-app/main/default/lwc/simpliUIListViewsTestComp/simpliUIListViewsTestComp.css +++ b/force-app/main/default/lwc/simpliUIListViewsTestComp/simpliUIListViewsTestComp.css @@ -23,4 +23,4 @@ .splitboxright { border-top: 1px solid lightgray; border-right: 1px solid lightgray; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.css b/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.css index 09a1211..054dbc8 100644 --- a/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.css +++ b/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.css @@ -4,4 +4,4 @@ lightning-radio-group .slds-radio_faux { .slds-modal__content { overflow: initial; -} +} \ No newline at end of file diff --git a/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.js b/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.js index d20bed6..d557469 100644 --- a/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.js +++ b/force-app/main/default/lwc/simpliUIListViewsTypeAhead/simpliUIListViewsTypeAhead.js @@ -52,15 +52,17 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { return this._fieldObjName; } - _whereClause; //any additional criteria (in SOQL format without WHERE keyword) to be applied when displaying values - @api set whereClause(value) { - if (value !== this._whereClause) { + _whereClause = []; //any additional criteria (in SOQL format without WHERE keyword) to be applied when displaying values + @api set whereClause(value) + { this.searchTerm = ''; this.oldSearchTerm = ''; - } - this._whereClause = value; - this.search(); - } + this._whereClause = []; + if (!SLVHelper.isEmpty(value)) { + this._whereClause.push(value); + } + this.search(); + } get whereClause() { return this._whereClause; } @@ -152,7 +154,7 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { this.isInitialized = true; }) .catch(error => { - console.log('Error Detected - ' + error.body.message + ' | ' + error.body.stackTrace); + SLVHelper.showErrorMessage(error); }); this.isInitialized = true; } @@ -166,7 +168,7 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { } search() { - + console.log("searchTerm1", this.searchTerm); if ((this.searchType === 'sobject' && this.whereClause !== undefined && this.labelFieldName !== undefined && this.keyFieldName !== undefined && this.fieldObjName !== undefined) || (this.searchType === 'schema' && this.fieldObjName !== undefined) @@ -174,7 +176,7 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { this.searchTerm.length > 1) { let whereClauseStr = JSON.stringify(this.whereClause); - console.log('Performing search - ' + this.searchType + ', ' + this.searchTerm + ', ' + this.fieldObjName + ', ' + this.labelFieldName + ', ' + this.keyFieldName + ', ' + this.whereClause) + console.log('Performing search - ' + this.searchType + ', ' + this.searchTerm + ', ' + this.fieldObjName + ', ' + this.labelFieldName + ', ' + this.keyFieldName + ', ' + this.whereClauseStr) search({ searchType: this.searchType, searchTerm: this.searchTerm, objName: this.fieldObjName, labelFieldName: this.labelFieldName, keyFieldName: this.keyFieldName, whereClauseJSON: whereClauseStr }) .then(result => { @@ -187,7 +189,7 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { this.options = undefined; }) .catch(error => { - console.log('Error Detected - ' + error.message + ' | ' + error.stackTrace); + SLVHelper.showErrorMessage(error); }); } else if (this.searchType === 'schema' && this.fieldObjName !== undefined) { @@ -221,6 +223,7 @@ export default class SimpliUIListViewsTypeAhead extends LightningElement { if (this.searchTerm === '') this.searchTerm = this.oldSearchTerm; + // eslint-disable-next-line @lwc/lwc/no-async-operation this.blurTimeout = setTimeout(() => { this.boxClass = 'slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-has-focus' }, 300); }