From f27b9421b2599c876d8cb62e5a348d01b5629040 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Mon, 16 Aug 2021 15:41:50 -0400 Subject: [PATCH] SearchKit - Fix JS undefined variable error when clearing field in update dialog --- .../crmSearchInput/crmSearchInput.component.js | 2 +- .../crmSearchInputVal.component.js | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js b/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js index c98d4705e5..b3bce0409d 100644 --- a/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js +++ b/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js @@ -21,7 +21,7 @@ } // If no search operator this is an input for e.g. the bulk update action // Return `true` if the field is multi-valued, else `null` - return ctrl.field.serialize || ctrl.field.data_type === 'Array' ? true : null; + return ctrl.field && (ctrl.field.serialize || ctrl.field.data_type === 'Array') ? true : null; }; this.$onInit = function() { diff --git a/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js b/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js index cd6dfe78cd..1e19729a71 100644 --- a/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js +++ b/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js @@ -85,28 +85,29 @@ }; this.getTemplate = function() { + var field = ctrl.field || {}; - if (ctrl.field.input_type === 'Date') { + if (field.input_type === 'Date') { return '~/crmSearchTasks/crmSearchInput/date.html'; } - if (ctrl.field.data_type === 'Boolean') { + if (field.data_type === 'Boolean') { return '~/crmSearchTasks/crmSearchInput/boolean.html'; } - if (ctrl.field.options) { + if (field.options) { return '~/crmSearchTasks/crmSearchInput/select.html'; } - if (ctrl.field.fk_entity || ctrl.field.name === 'id') { + if (field.fk_entity || field.name === 'id') { return '~/crmSearchTasks/crmSearchInput/entityRef.html'; } - if (ctrl.field.data_type === 'Integer') { + if (field.data_type === 'Integer') { return '~/crmSearchTasks/crmSearchInput/integer.html'; } - if (ctrl.field.data_type === 'Float') { + if (field.data_type === 'Float') { return '~/crmSearchTasks/crmSearchInput/float.html'; } @@ -114,7 +115,8 @@ }; this.getFieldOptions = function() { - return {results: formatForSelect2(ctrl.field.options, ctrl.optionKey || 'id', 'label', ['description', 'color', 'icon'])}; + var field = ctrl.field || {}; + return {results: formatForSelect2(field.options || [], ctrl.optionKey || 'id', 'label', ['description', 'color', 'icon'])}; }; } -- 2.25.1