Skip to content

Commit 1fe3ff2

Browse files
FIX: Use search input id for <SearchMenu /> component (#87)
Relies on discourse/discourse#32099 from core, which introduces a searchInputId to differentiate search inputs, since we have 3 now (welcome banner, header, icon)
1 parent 5ad224e commit 1fe3ff2

File tree

6 files changed

+20
-19
lines changed

6 files changed

+20
-19
lines changed

.discourse-compatibility

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
< 3.5.0.beta3-dev: 5ad224e3b3a369fe1cbacd19733f647654dcbb49
12
< 3.5.0.beta1-dev: 2cab4e99e04cd6a9067abb1115b1de29a968f1f7
23
< 3.4.0.beta2-dev: ba7630cd78bf2a50981cafc0a613df9439cb5968
34
< 3.4.0.beta1-dev: f7e141653af4145e086e5917067ce17ab0ce2feb

common/common.scss

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
$max-width: 600px;
44

5+
.welcome-banner {
6+
display: none;
7+
}
8+
59
.display-search-banner {
610
#main-outlet {
711
padding-top: 0;
@@ -64,7 +68,7 @@ $max-width: 600px;
6468
}
6569

6670
.search-input {
67-
#search-term {
71+
input.search-term__input {
6872
min-width: 0;
6973
flex: 1 1;
7074
}
@@ -177,9 +181,5 @@ $max-width: 600px;
177181
}
178182
}
179183

180-
.welcome-banner {
181-
display: none;
182-
}
183-
184184
// these are add-on styles controlled by settings
185185
@import "special-styles";

javascripts/discourse/components/search-banner.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
{{#unless this.buttonText}}
1616
<SearchIcon />
1717
{{/unless}}
18-
<SearchMenu />
18+
<SearchMenu @searchInputId="custom-search-input" />
1919
{{#if this.buttonText}}
2020
<SearchIcon
2121
@buttonText={{this.buttonText}}

mobile/mobile.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
}
77
}
88

9-
.search-menu .search-input input#search-term {
9+
.search-menu .search-input input.search-term__input {
1010
width: 100%;
1111
}

spec/system/viewing_search_banner_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
topic_page.visit_topic(topic)
3333
expect(topic_page).to have_css(".custom-search-banner")
3434

35-
topic_page.find(".custom-search-banner input#search-term").fill_in(with: "test")
35+
topic_page.find(".custom-search-banner input#custom-search-input").fill_in(with: "test")
3636
topic_page.find(".custom-search-banner .results li:nth-child(2) a").click
3737

3838
expect(topic_page).to have_css(".custom-search-banner .search-context")

test/acceptance/search-banner-test.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ acceptance("Discourse Advanced Search Banner", function (needs) {
77

88
test("Advanced Search Banner is present", async function (assert) {
99
await visit("/");
10-
assert.dom(".custom-search-banner input#search-term").exists();
10+
assert.dom(".custom-search-banner input#custom-search-input").exists();
1111
});
1212

1313
test("is only present on intended routes", async function (assert) {
@@ -17,8 +17,8 @@ acceptance("Discourse Advanced Search Banner", function (needs) {
1717

1818
test("it closes the search menu when clicking outside", async function (assert) {
1919
await visit("/");
20-
await click(".custom-search-banner input#search-term");
21-
await fillIn(".custom-search-banner input#search-term", "test");
20+
await click(".custom-search-banner input#custom-search-input");
21+
await fillIn(".custom-search-banner input#custom-search-input", "test");
2222
assert.dom(".custom-search-banner .results").exists();
2323

2424
// select a element to simulate clicking outside the search banner
@@ -28,12 +28,12 @@ acceptance("Discourse Advanced Search Banner", function (needs) {
2828

2929
test("pressing escape closes the search menu", async function (assert) {
3030
await visit("/");
31-
await click(".custom-search-banner input#search-term");
32-
await fillIn(".custom-search-banner input#search-term", "test");
31+
await click(".custom-search-banner input#custom-search-input");
32+
await fillIn(".custom-search-banner input#custom-search-input", "test");
3333
assert.dom(".custom-search-banner .results").exists();
3434

3535
await triggerKeyEvent(
36-
".custom-search-banner #search-term",
36+
".custom-search-banner #custom-search-input",
3737
"keydown",
3838
"Escape"
3939
);
@@ -43,21 +43,21 @@ acceptance("Discourse Advanced Search Banner", function (needs) {
4343
test("searching for a term in the search menu fills in the search banner search input", async function (assert) {
4444
await visit("/");
4545
await click("#search-button");
46-
await fillIn("#search-term", "test");
46+
await fillIn("#custom-search-input", "test");
4747
assert
48-
.dom(".custom-search-banner input#search-term")
48+
.dom(".custom-search-banner input#custom-search-input")
4949
.hasValue("test", "search inputs have matching terms");
5050
});
5151

5252
test("you can navigate search results with the keyboard", async function (assert) {
5353
const container = ".custom-search-banner .results";
5454

5555
await visit("/");
56-
await click(".custom-search-banner input#search-term");
57-
await fillIn(".custom-search-banner input#search-term", "test");
56+
await click(".custom-search-banner input#custom-search-input");
57+
await fillIn(".custom-search-banner input#custom-search-input", "test");
5858

5959
await triggerKeyEvent(
60-
".custom-search-banner #search-term",
60+
".custom-search-banner #custom-search-input",
6161
"keyup",
6262
"Enter"
6363
);

0 commit comments

Comments
 (0)