Skip to content

Commit cdf38bc

Browse files
noraebJakobVogelsang
authored andcommitted
refactor: update searchValue property description and improve setter logic
1 parent 6e3ec33 commit cdf38bc

File tree

3 files changed

+9
-32
lines changed

3 files changed

+9
-32
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ This element was meant to be used only for plugins in this organization. If it s
4444
| `filterable` | | `boolean` | `false` | Whether list items can be filtered on \`headline\` and \`supportingText\` | FilterListBase |
4545
| `searchhelper` | | `string` | `'search'` | Placeholder for search input field | FilterListBase |
4646
| `searchRegex` | | `RegExp` | `/.*/i` | | FilterListBase |
47-
| `searchValue` | | `string` | | Public getter/setter to get/set search input value | FilterListBase |
47+
| `searchValue` | | `string` | | Current search filter value. Updates search regex when changed. | FilterListBase |
4848

4949
<details><summary>Private API</summary>
5050

@@ -110,7 +110,7 @@ This element was meant to be used only for plugins in this organization. If it s
110110
| `filterable` | | `boolean` | `false` | Whether list items can be filtered on \`headline\` and \`supportingText\` | FilterListBase |
111111
| `searchhelper` | | `string` | `'search'` | Placeholder for search input field | FilterListBase |
112112
| `searchRegex` | | `RegExp` | `/.*/i` | | FilterListBase |
113-
| `searchValue` | | `string` | | Public getter/setter to get/set search input value | FilterListBase |
113+
| `searchValue` | | `string` | | Current search filter value. Updates search regex when changed. | FilterListBase |
114114

115115
<details><summary>Private API</summary>
116116

@@ -171,7 +171,7 @@ This element was meant to be used only for plugins in this organization. If it s
171171
| `filterable` | | `boolean` | `false` | Whether list items can be filtered on \`headline\` and \`supportingText\` | |
172172
| `searchhelper` | | `string` | `'search'` | Placeholder for search input field | |
173173
| `searchRegex` | | `RegExp` | `/.*/i` | | |
174-
| `searchValue` | | `string` | | Public getter/setter to get/set search input value | |
174+
| `searchValue` | | `string` | | Current search filter value. Updates search regex when changed. | |
175175

176176
<details><summary>Private API</summary>
177177

base-list.spec.ts

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import { expect, fixture, html } from '@open-wc/testing';
44
import { customElement } from 'lit/decorators.js';
5-
import { spy } from 'sinon';
65

76
import { TextField } from '@scopedelement/material-web/textfield/internal/text-field';
87

@@ -67,25 +66,6 @@ describe('FilterListBase', () => {
6766
expect(regex.test('pineapple')).to.be.true;
6867
expect(regex.test('banana')).to.be.false;
6968
});
70-
71-
it('setter ignores duplicate values', () => {
72-
element.searchValue = 'test';
73-
const requestUpdateSpy = spy(element, 'requestUpdate');
74-
element.searchValue = 'test';
75-
expect(requestUpdateSpy).to.not.have.been.called;
76-
requestUpdateSpy.restore();
77-
});
78-
79-
it('setter triggers requestUpdate for new values', () => {
80-
element.searchValue = 'initial';
81-
const requestUpdateSpy = spy(element, 'requestUpdate');
82-
element.searchValue = 'changed';
83-
expect(requestUpdateSpy).to.have.been.calledWith(
84-
'searchValue',
85-
'initial'
86-
);
87-
requestUpdateSpy.restore();
88-
});
8969
});
9070

9171
describe('search field rendering', () => {

base-list.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,17 @@ export class FilterListBase extends ScopedElementsMixin(LitElement) {
5454
@state()
5555
protected _searchValue = '';
5656

57-
/** Public getter/setter to get/set search input value */
58-
get searchValue(): string {
59-
return this._searchValue;
60-
}
61-
57+
/** Current search filter value. Updates search regex when changed. */
58+
@property({ type: String })
6259
set searchValue(value: string) {
6360
const oldVal = this._searchValue;
6461
if (oldVal === value) return;
6562
this._searchValue = value;
6663
this.searchRegex = searchRegex(value);
67-
if (this.searchInput && this.searchInput.value !== value) {
68-
this.searchInput.value = value;
69-
}
70-
this.requestUpdate('searchValue', oldVal);
64+
}
65+
66+
get searchValue(): string {
67+
return this._searchValue;
7168
}
7269

7370
protected onFilter(): void {

0 commit comments

Comments
 (0)