From d775de0e38e23b7b107ece3d0efe318fba2c8dbf Mon Sep 17 00:00:00 2001 From: colemanw Date: Wed, 7 Jun 2023 15:41:43 -0400 Subject: [PATCH] dev/core#4254 - Add autoOpen feature to SearchKit 'addNew' button --- .../managed/SavedSearch_Administer_Custom_Fields.mgd.php | 1 + .../managed/SavedSearch_Administer_ProfileFields.mgd.php | 1 + .../traits/searchDisplayBaseTrait.service.js | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Custom_Fields.mgd.php b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Custom_Fields.mgd.php index e53e178a8d..e9c234c837 100644 --- a/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Custom_Fields.mgd.php +++ b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Custom_Fields.mgd.php @@ -201,6 +201,7 @@ return [ 'path' => 'civicrm/admin/custom/group/field/add?reset=1&action=add&gid=[custom_group_id]', 'text' => E::ts('Add Custom Field'), 'icon' => 'fa-plus', + 'autoOpen' => TRUE, ], 'placeholder' => 5, ], diff --git a/ext/civicrm_admin_ui/managed/SavedSearch_Administer_ProfileFields.mgd.php b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_ProfileFields.mgd.php index e7b55d55dc..277e1ee569 100644 --- a/ext/civicrm_admin_ui/managed/SavedSearch_Administer_ProfileFields.mgd.php +++ b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_ProfileFields.mgd.php @@ -174,6 +174,7 @@ return [ 'path' => 'civicrm/admin/uf/group/field/add?reset=1&action=add&gid=[uf_group_id]', 'text' => E::ts('Add Field'), 'icon' => 'fa-plus', + 'autoOpen' => TRUE, ], 'cssRules' => [ [ diff --git a/ext/search_kit/ang/crmSearchDisplay/traits/searchDisplayBaseTrait.service.js b/ext/search_kit/ang/crmSearchDisplay/traits/searchDisplayBaseTrait.service.js index f4543e8ea0..d40b30ce6b 100644 --- a/ext/search_kit/ang/crmSearchDisplay/traits/searchDisplayBaseTrait.service.js +++ b/ext/search_kit/ang/crmSearchDisplay/traits/searchDisplayBaseTrait.service.js @@ -168,6 +168,14 @@ ctrl.rowCount = result.count; }); } + // If there are no results on initial load, open the "addNew" link if configured as "autoOpen" + if (!ctrl.results.length && requestId === 1 && ctrl.settings.addButton && ctrl.settings.addButton.autoOpen) { + CRM.loadForm(ctrl.getButtonUrl()) + .on('crmFormSuccess', function() { + ctrl.rowCount = null; + ctrl.getResultsPronto(); + }); + } } _.each(ctrl.onPostRun, function(callback) { callback.call(ctrl, ctrl.results, 'success', editedRow); -- 2.25.1