Host custom query button modification (#758)
* Improve UX custom query option * Edge case custom query button persists
This commit is contained in:
@@ -57,6 +57,18 @@ const SelectQueryModal = (props) => {
|
||||
});
|
||||
};
|
||||
|
||||
const customQueryButton = () => {
|
||||
return (
|
||||
<Button
|
||||
onClick={() => onQueryHostCustom(host, dispatch)}
|
||||
variant="brand"
|
||||
className={`${baseClass}__custom-query-button`}
|
||||
>
|
||||
Create custom query
|
||||
</Button>
|
||||
);
|
||||
};
|
||||
|
||||
const onFilterQueries = (event) => {
|
||||
setQueriesFilter(event);
|
||||
return false;
|
||||
@@ -86,6 +98,20 @@ const SelectQueryModal = (props) => {
|
||||
<img src={OpenNewTabIcon} alt="open new tab" id="new-tab-icon" />
|
||||
</a>
|
||||
</span>
|
||||
<div>{customQueryButton()}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!queriesFilter && queriesCount === 0) {
|
||||
return (
|
||||
<div className={`${baseClass}__no-query-results`}>
|
||||
<span className="info__header">You have no saved queries.</span>
|
||||
<span className="info__data">
|
||||
Expecting to see queries? Try again in a few seconds as the system
|
||||
catches up.
|
||||
</span>
|
||||
<div>{customQueryButton()}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -106,43 +132,43 @@ const SelectQueryModal = (props) => {
|
||||
});
|
||||
return (
|
||||
<div>
|
||||
<div className={`${baseClass}__filter-queries`}>
|
||||
<InputField
|
||||
name="query-filter"
|
||||
onChange={onFilterQueries}
|
||||
placeholder="Filter queries"
|
||||
value={queriesFilter}
|
||||
/>
|
||||
<KolideIcon name="search" />
|
||||
<div className={`${baseClass}__query-modal`}>
|
||||
<div className={`${baseClass}__filter-queries`}>
|
||||
<InputField
|
||||
name="query-filter"
|
||||
onChange={onFilterQueries}
|
||||
placeholder="Filter queries"
|
||||
value={queriesFilter}
|
||||
/>
|
||||
<KolideIcon name="search" />
|
||||
</div>
|
||||
<div className={`${baseClass}__create-query`}>
|
||||
<span>OR</span>
|
||||
{customQueryButton()}
|
||||
</div>
|
||||
</div>
|
||||
<div>{queryList}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!queriesFilter && queriesCount === 0) {
|
||||
return (
|
||||
<div className={`${baseClass}__no-query-results`}>
|
||||
<span className="info__header">You have no saved queries.</span>
|
||||
<span className="info__data">
|
||||
Expecting to see queries? Try again in a few seconds as the system
|
||||
catches up.
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (queriesFilter && queriesCount === 0) {
|
||||
return (
|
||||
<div>
|
||||
<div className={`${baseClass}__filter-queries`}>
|
||||
<InputField
|
||||
name="query-filter"
|
||||
onChange={onFilterQueries}
|
||||
placeholder="Filter queries"
|
||||
value={queriesFilter}
|
||||
/>
|
||||
<KolideIcon name="search" />
|
||||
<div className={`${baseClass}__query-modal`}>
|
||||
<div className={`${baseClass}__filter-queries`}>
|
||||
<InputField
|
||||
name="query-filter"
|
||||
onChange={onFilterQueries}
|
||||
placeholder="Filter queries"
|
||||
value={queriesFilter}
|
||||
/>
|
||||
<KolideIcon name="search" />
|
||||
</div>
|
||||
<div className={`${baseClass}__create-query`}>
|
||||
<span>OR</span>
|
||||
{customQueryButton()}
|
||||
</div>
|
||||
</div>
|
||||
<div className={`${baseClass}__no-query-results`}>
|
||||
<span className="info__header">
|
||||
@@ -165,15 +191,6 @@ const SelectQueryModal = (props) => {
|
||||
className={`${baseClass}__modal`}
|
||||
>
|
||||
{results()}
|
||||
<p>
|
||||
<Button
|
||||
onClick={() => onQueryHostCustom(host, dispatch)}
|
||||
variant="unstyled"
|
||||
className={`${baseClass}__custom-query-button`}
|
||||
>
|
||||
Create custom query
|
||||
</Button>
|
||||
</p>
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -46,8 +46,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
&__query-modal {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
&__filter-queries {
|
||||
flex-grow: 1;
|
||||
flex-grow: 3;
|
||||
position: relative;
|
||||
|
||||
.input-field {
|
||||
@@ -63,9 +67,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
&__create-query {
|
||||
span {
|
||||
margin: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
&__custom-query-button {
|
||||
font-size: $x-small;
|
||||
color: $core-vibrant-blue;
|
||||
font-weight: $bold;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user