Skip to content

Commit 43ca802

Browse files
fix: show search bar for bucket even when no bucket is found (#5079)
* fix: show search bar even when no bucket is found * style: replace customized css with clockface component
1 parent bc3c965 commit 43ca802

File tree

3 files changed

+41
-61
lines changed

3 files changed

+41
-61
lines changed

src/dataExplorer/components/BucketSelector.tsx

Lines changed: 40 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -85,59 +85,49 @@ const BucketSelector: FC = () => {
8585
)
8686
}
8787

88-
if (!_buckets.length) {
89-
return (
90-
<div>
91-
<SelectorTitle title="Bucket" info={BUCKET_TOOLTIP} />
92-
<Dropdown
93-
button={button}
94-
menu={onCollapse => (
95-
<Dropdown.Menu onCollapse={onCollapse}>
96-
<Dropdown.ItemEmpty>No Buckets Available</Dropdown.ItemEmpty>
97-
</Dropdown.Menu>
98-
)}
99-
/>
100-
</div>
101-
)
102-
}
88+
let body: JSX.Element | JSX.Element[] = (
89+
<Dropdown.ItemEmpty>No Buckets Found</Dropdown.ItemEmpty>
90+
)
10391

104-
const body = Object.entries(
105-
_buckets.reduce((acc, curr) => {
106-
if (!acc[curr.type]) {
107-
acc[curr.type] = []
92+
if (_buckets.length) {
93+
body = Object.entries(
94+
_buckets.reduce((acc, curr) => {
95+
if (!acc[curr.type]) {
96+
acc[curr.type] = []
97+
}
98+
99+
acc[curr.type].push(curr)
100+
return acc
101+
}, {}) as Record<string, Bucket[]>
102+
).map(([k, v]) => {
103+
const items = v.map(bucket => (
104+
<Dropdown.Item
105+
key={bucket.name}
106+
value={bucket}
107+
onClick={handleSelectBucket}
108+
selected={bucket.name === selectedBucket?.name}
109+
title={bucket.name}
110+
wrapText={true}
111+
testID={`bucket-selector--dropdown--${bucket.name}`}
112+
>
113+
{bucket.name}
114+
</Dropdown.Item>
115+
))
116+
117+
let name = k
118+
119+
if (REMAP_BUCKET_TYPES.hasOwnProperty(k)) {
120+
name = REMAP_BUCKET_TYPES[k]
108121
}
109122

110-
acc[curr.type].push(curr)
111-
return acc
112-
}, {}) as Record<string, Bucket[]>
113-
).map(([k, v]) => {
114-
const items = v.map(bucket => (
115-
<Dropdown.Item
116-
key={bucket.name}
117-
value={bucket}
118-
onClick={handleSelectBucket}
119-
selected={bucket.name === selectedBucket?.name}
120-
title={bucket.name}
121-
wrapText={true}
122-
testID={`bucket-selector--dropdown--${bucket.name}`}
123-
>
124-
{bucket.name}
125-
</Dropdown.Item>
126-
))
127-
128-
let name = k
129-
130-
if (REMAP_BUCKET_TYPES.hasOwnProperty(k)) {
131-
name = REMAP_BUCKET_TYPES[k]
132-
}
133-
134-
return (
135-
<Fragment key={name}>
136-
<Dropdown.Divider text={name} />
137-
{items}
138-
</Fragment>
139-
)
140-
})
123+
return (
124+
<Fragment key={name}>
125+
<Dropdown.Divider text={name} />
126+
{items}
127+
</Fragment>
128+
)
129+
})
130+
}
141131

142132
return (
143133
<div>

src/shared/components/SearchableDropdown.scss

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,3 @@
33
padding: $cf-space-2xs 0;
44
border-bottom: $ix-border solid $cf-grey-25;
55
}
6-
7-
.searchable-dropdown--empty {
8-
padding: $cf-space-2xs;
9-
text-align: center;
10-
opacity: 0.75;
11-
user-select: none;
12-
font-style: italic;
13-
font-weight: 500;
14-
font-size: 12px;
15-
}

src/shared/components/SearchableDropdown.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const SearchableDropdown: FC<Props> = ({
5454
)
5555

5656
let body: JSX.Element | JSX.Element[] = (
57-
<div className="searchable-dropdown--empty">{emptyText}</div>
57+
<Dropdown.ItemEmpty>{emptyText}</Dropdown.ItemEmpty>
5858
)
5959

6060
if (filteredOptions.length) {

0 commit comments

Comments
 (0)