From 30a8f784a0a139fc5576cc430a3326088beb76fd Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Tue, 23 Feb 2021 08:31:38 -0500 Subject: [PATCH] SearchKit - More efficient use of space when configuring display fields --- .../crmSearchAdminLinkSelect.component.js | 29 ++++++++++++------- .../crmSearchAdminLinkSelect.html | 14 +++++---- .../displays/common/fieldOptions.html | 16 +++++----- ext/search/css/crmSearchAdmin.css | 11 +++++++ 4 files changed, 46 insertions(+), 24 deletions(-) diff --git a/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.component.js b/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.component.js index 5a2a8ab853..dc916ad98d 100644 --- a/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.component.js +++ b/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.component.js @@ -49,23 +49,32 @@ return links; } - function onChange() { - var val = $('select', $element).val(); - if (val !== ctrl.column.link) { - var link = ctrl.getLink(val); - if (link) { - ctrl.column.link = link.path; - ctrl.column.title = link.title; - } else if (val === 'civicrm/') { + this.setValue = function(val) { + var link = ctrl.getLink(val), + oldLink = ctrl.getLink(ctrl.column.link); + if (link) { + ctrl.column.link = link.path; + ctrl.column.title = link.title; + } else { + if (val === 'civicrm/') { ctrl.column.link = val; - $timeout(function() { - $('input', $element).focus(); + $timeout(function () { + $('input[type=text]', $element).focus(); }); } else { ctrl.column.link = ''; + } + if (oldLink && ctrl.column.title === oldLink.title) { ctrl.column.title = ''; } } + }; + + function onChange() { + var val = $('select', $element).val(); + if (val !== ctrl.column.link) { + ctrl.setValue(val); + } } this.$onInit = function() { diff --git a/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.html b/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.html index 74bc729130..3f0fa40aeb 100644 --- a/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.html +++ b/ext/search/ang/crmSearchAdmin/crmSearchAdminLinkSelect.html @@ -1,5 +1,9 @@ - + {{ $ctrl.column.link ? ts('Link:') : ts('Link') }} + + -
- - -
+ + diff --git a/ext/search/ang/crmSearchAdmin/displays/common/fieldOptions.html b/ext/search/ang/crmSearchAdmin/displays/common/fieldOptions.html index 8524d41091..81f1b302f6 100644 --- a/ext/search/ang/crmSearchAdmin/displays/common/fieldOptions.html +++ b/ext/search/ang/crmSearchAdmin/displays/common/fieldOptions.html @@ -1,9 +1,9 @@ -
- - -
-
- - - + +
+ + +
diff --git a/ext/search/css/crmSearchAdmin.css b/ext/search/css/crmSearchAdmin.css index 69a780068a..2121cd507a 100644 --- a/ext/search/css/crmSearchAdmin.css +++ b/ext/search/css/crmSearchAdmin.css @@ -153,6 +153,17 @@ top: 0; } +#bootstrap-theme .crm-search-admin-flex-row { + display: flex; + align-items: center; +} +#bootstrap-theme .crm-search-admin-flex-row > *:not(:first-child) { + margin-left: 6px; +} +#bootstrap-theme .crm-search-admin-flex-row > input[type=text] { + flex: 1; +} + #bootstrap-theme input[type=search]::placeholder { font-family: FontAwesome; text-align: right; -- 2.25.1