From 103b4c8851b5b33aa7a73d9487b5412a72c1652e Mon Sep 17 00:00:00 2001 From: Nico Rehwaldt Date: Tue, 6 Dec 2022 21:07:56 +0100 Subject: [PATCH] chore(popup-menu): add titles to all elements Allows users to inspect truncated items. --- lib/features/popup-menu/PopupMenuComponent.js | 2 +- lib/features/popup-menu/PopupMenuList.js | 2 +- .../popup-menu/PopupMenuComponentSpec.js | 30 ++++++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/lib/features/popup-menu/PopupMenuComponent.js b/lib/features/popup-menu/PopupMenuComponent.js index 661c521be..1592d832a 100644 --- a/lib/features/popup-menu/PopupMenuComponent.js +++ b/lib/features/popup-menu/PopupMenuComponent.js @@ -184,7 +184,7 @@ export default function PopupMenuComponent(props) { > ${ displayHeader && html`
-

${ title }

+

${ title }

${ headerEntries.map(entry => html` ${ groups.map(group => html` ${ group.name && html` -
+
${ group.name }
` } diff --git a/test/spec/features/popup-menu/PopupMenuComponentSpec.js b/test/spec/features/popup-menu/PopupMenuComponentSpec.js index 469d3e5d3..f74f0a76c 100644 --- a/test/spec/features/popup-menu/PopupMenuComponentSpec.js +++ b/test/spec/features/popup-menu/PopupMenuComponentSpec.js @@ -328,6 +328,34 @@ describe('features/popup-menu - ', function() { expect(describedEntry.textContent).to.eql('FOOI DESCRIBE IT'); })); + + it('should render entry header', inject(function() { + + // given + const entries = [ + { + id: '1', + label: '1', + group: { + id: 'SAD', + name: 'SOME GROUP' + } + } + ]; + + createPopupMenu({ container, entries }); + + // when + const [ + groupHeader + ] = domQueryAll('.entry-header', container); + + // then + expect(groupHeader).to.exist; + expect(groupHeader.title).to.eql('SOME GROUP'); + expect(groupHeader.textContent).to.eql('SOME GROUP'); + })); + }); @@ -404,8 +432,8 @@ describe('features/popup-menu - ', function() { // then var titleElement = domQuery('.djs-popup-title', container); expect(titleElement).to.exist; + expect(titleElement.title).to.eql(title); expect(titleElement.innerHTML).to.eql(title); - }));