From 8b332985de09d11e52f42cc81ec45f05790a758e Mon Sep 17 00:00:00 2001 From: Olympe Lespagnon Date: Thu, 11 Sep 2025 17:11:19 +0200 Subject: [PATCH 1/4] Manage field: focus search, update placeholder, reset search key on close --- addon/components/hyper-table-v2/manage-columns.ts | 8 ++++++++ translations/en-us.yaml | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/addon/components/hyper-table-v2/manage-columns.ts b/addon/components/hyper-table-v2/manage-columns.ts index 43d2f540..d053a08b 100644 --- a/addon/components/hyper-table-v2/manage-columns.ts +++ b/addon/components/hyper-table-v2/manage-columns.ts @@ -108,6 +108,14 @@ export default class HyperTableV2ManageColumns extends Component { this.dropdownVisibility = 'visible'; + + later( + this, + () => { + document.querySelector('.available-fields-wrapper input')?.focus(); + }, + 300 + ); }); } } diff --git a/translations/en-us.yaml b/translations/en-us.yaml index c0fefcb3..4f40f244 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -10,7 +10,7 @@ hypertable: manage_fields: title: Manage Fields all_fields: All Fields - search_placeholder: Search Fields + search_placeholder: Search... no_columns: No columns found column: remove: Remove Field @@ -87,4 +87,4 @@ hypertable: records_selected: '{count, plural, =0 {{count} record is selected} =1 {{count} record is selected} other {{count} records are selected}}' all_records_selected: All records ({count}) are selected select_all: '{count, plural, =1 {Select all {count} record} other {Select all {count} records}}' - clear: Clear selection \ No newline at end of file + clear: Clear selection From 420e9071206fd778bf166801af106298fa778145 Mon Sep 17 00:00:00 2001 From: Olympe Lespagnon Date: Fri, 12 Sep 2025 09:41:12 +0200 Subject: [PATCH 2/4] Reset search key on close --- addon/components/hyper-table-v2/manage-columns.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/addon/components/hyper-table-v2/manage-columns.ts b/addon/components/hyper-table-v2/manage-columns.ts index d053a08b..7936c182 100644 --- a/addon/components/hyper-table-v2/manage-columns.ts +++ b/addon/components/hyper-table-v2/manage-columns.ts @@ -127,6 +127,7 @@ export default class HyperTableV2ManageColumns extends Component { this.displayAvailableFields = false; + this.searchColumnDefinitionKeyword = ''; }, 300 ); From cc4476b5a32d0bee470cec5cbf17eb87cf0c319b Mon Sep 17 00:00:00 2001 From: Olympe Lespagnon Date: Mon, 15 Sep 2025 16:02:29 +0200 Subject: [PATCH 3/4] Focus manage-fields search bar and reinitialize it on close in campaign's performance --- addon/components/hyper-table-v2/manage-columns.ts | 2 +- addon/components/hyper-table/index.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/addon/components/hyper-table-v2/manage-columns.ts b/addon/components/hyper-table-v2/manage-columns.ts index 7936c182..77cd57d0 100644 --- a/addon/components/hyper-table-v2/manage-columns.ts +++ b/addon/components/hyper-table-v2/manage-columns.ts @@ -114,7 +114,7 @@ export default class HyperTableV2ManageColumns extends Component { document.querySelector('.available-fields-wrapper input')?.focus(); }, - 300 + 150 ); }); } diff --git a/addon/components/hyper-table/index.js b/addon/components/hyper-table/index.js index 22bf2acd..f215fdc7 100644 --- a/addon/components/hyper-table/index.js +++ b/addon/components/hyper-table/index.js @@ -2,7 +2,7 @@ import { A } from '@ember/array'; import Component from '@ember/component'; import { computed, observer, set } from '@ember/object'; import { alias, and, filterBy } from '@ember/object/computed'; -import { debounce, once, scheduleOnce } from '@ember/runloop'; +import { debounce, later, once, scheduleOnce } from '@ember/runloop'; import { compare, isEmpty, typeOf } from '@ember/utils'; export default Component.extend({ @@ -242,10 +242,20 @@ export default Component.extend({ } this.manager.toggleProperty('availableFieldsPanel'); this.manager.set('availableTableViews', false); + + later( + this, + () => { + document.querySelector('.available-fields-wrapper input').focus(); + }, + 150 + ); }, closeAvailableFields() { this.manager.set('availableFieldsPanel', false); + this.set('_availableFieldsKeyword', ''); + this.notifyPropertyChange('_orderedFilteredClusters'); }, openAvailableViews() { From 4c37255420d5d3d3bcf00203c0fcf24c3902ae31 Mon Sep 17 00:00:00 2001 From: Olympe Lespagnon Date: Mon, 15 Sep 2025 16:29:14 +0200 Subject: [PATCH 4/4] Handle null input --- addon/components/hyper-table/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addon/components/hyper-table/index.js b/addon/components/hyper-table/index.js index f215fdc7..38646bd3 100644 --- a/addon/components/hyper-table/index.js +++ b/addon/components/hyper-table/index.js @@ -246,7 +246,8 @@ export default Component.extend({ later( this, () => { - document.querySelector('.available-fields-wrapper input').focus(); + const searchInput = document.querySelector('.available-fields-wrapper input'); + if (searchInput !== null) searchInput.focus(); }, 150 );