Skip to content

Commit a6d97bc

Browse files
committed
add logic to manage filters from pill
1 parent ef8acc3 commit a6d97bc

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

scaladoc/resources/dotty_res/scripts/components/FilterGroup.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,10 @@ class FilterGroup extends Component {
3030
this.props.onGroupSelectChange(key, true);
3131
};
3232

33-
onDeselectAllClick = ({
34-
currentTarget: {
35-
dataset: { key },
36-
},
37-
}) => {
38-
this.props.onGroupSelectChange(key, false);
33+
onDeselectAllClick = (e) => {
34+
this.props.onGroupSelectChange(e.currentTarget.dataset.key, false);
35+
e.stopPropagation();
36+
e.preventDefault();
3937
};
4038

4139
attachFiltersClicks() {
@@ -52,7 +50,7 @@ class FilterGroup extends Component {
5250
this.filtersContainerRef
5351
);
5452
const deselectAllRefs = findRefs(
55-
"button.deselectAll",
53+
"span.deselectAll",
5654
this.filtersContainerRef
5755
);
5856

@@ -87,7 +85,8 @@ class FilterGroup extends Component {
8785

8886
getFirstSelected(filterKey, values) {
8987
const sortedValues = this.getSortedValues(filterKey, values);
90-
return sortedValues.find(([_name, filterObject]) => filterObject.selected)[0] || "";
88+
const firstSelected = sortedValues.find(([_name, filterObject]) => filterObject.selected);
89+
return firstSelected ? firstSelected[0] : "";
9190
}
9291

9392
getNumberOfSelectedFilters = (filterKey, values) => {
@@ -109,10 +108,13 @@ class FilterGroup extends Component {
109108

110109
return `
111110
<div class="pill-container body-small" tabindex="1">
112-
<div class="pill ${numberToDisplay !== "" ? "has-value" : ""}">
111+
<div class="pill ${numberOfSelectedFilters > 0 ? "has-value" : ""}">
113112
<span class="filter-name">${filterKey.substring(1)}</span>
114113
${firstSelected} ${numberToDisplay}
115-
<span class="icon-button close"/>
114+
<span
115+
class="icon-button close deselectAll"
116+
data-key="${filterKey}"
117+
/>
116118
</div>
117119
<ul>
118120
${this.getSortedValues(filterKey, values)
@@ -125,6 +127,11 @@ class FilterGroup extends Component {
125127
data-key="${filterKey}"
126128
data-selected="${data.selected}"
127129
data-value="${key}"
130+
${this.isActive(
131+
data.selected
132+
)} ${this.isVisible(
133+
data.visible
134+
)}"
128135
>
129136
${key}
130137
</li>`

scaladoc/resources/dotty_res/styles/theme/components/pill.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171

7272
.pill-container ul li[data-selected="true"]::before {
7373
margin-right: calc(1.5 * var(--base-spacing));
74+
left: calc(1 * var(--base-spacing));
7475
content: url(../../../images/thick.svg);
7576
position: absolute;
7677
}

0 commit comments

Comments
 (0)