Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sippy-ng/src/component_readiness/RegressedTestsPanel.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@ export default function RegressedTestsPanel(props) {
setFilterModel: setFilterModel,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'test_name',
autocompleteData: regressedTests,
downloadDataFunc: () => {
return filteredTests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,7 @@ export default function TriagedRegressionTestList(props) {
setFilterModel: setFilterModel,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'test_name',
autocompleteData: triagedRegressions,
downloadDataFunc: () => {
return filteredRegressions
Expand Down
1 change: 1 addition & 0 deletions sippy-ng/src/component_readiness/TriagedRegressions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,7 @@ export default function TriagedRegressions({
setFilterModel: setFilterModel,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'description',
autocompleteData: triageEntries,
downloadDataFunc: () => {
return filteredTriageEntries
Expand Down
27 changes: 25 additions & 2 deletions sippy-ng/src/datagrid/GridToolbar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import GridToolbarPeriodSelector from '../datagrid/GridToolbarPeriodSelector'
import GridToolbarViewSelector from './GridToolbarViewSelector'
import IconButton from '@mui/material/IconButton'
import PropTypes from 'prop-types'
import React, { Fragment } from 'react'
import React, { Fragment, useEffect, useRef } from 'react'
import SearchIcon from '@mui/icons-material/Search'
import TextField from '@mui/material/TextField'

Expand Down Expand Up @@ -39,6 +39,29 @@ export default function GridToolbar(props) {
const classes = useStyles(theme)

const [search, setSearch] = React.useState('')
const initializedFromFilter = useRef(false)

useEffect(() => {
if (
initializedFromFilter.current ||
!props.searchField ||
!props.filterModel ||
!props.filterModel.items
) {
return
}
const filtersForField = props.filterModel.items.filter(
(f) => f.columnField === props.searchField
)
if (filtersForField.length !== 1) {
return
}
const filter = filtersForField[0]
if (filter.operatorValue === 'contains' && filter.value) {
setSearch(filter.value)
initializedFromFilter.current = true
}
}, [props.searchField, props.filterModel])
Comment thread
not-stbenjam marked this conversation as resolved.

return (
<div className={classes.root}>
Expand Down Expand Up @@ -92,7 +115,6 @@ export default function GridToolbar(props) {
value={search}
onChange={(e) => setSearch(e.target.value)}
onKeyDown={(e) => e.key === 'Enter' && props.doSearch(search)}
onBlur={() => props.doSearch(search)}
placeholder="Search…"
InputProps={{
endAdornment: (
Expand Down Expand Up @@ -145,4 +167,5 @@ GridToolbar.propTypes = {
downloadDataFunc: PropTypes.func,
downloadFilePrefix: PropTypes.string,
autocompleteData: PropTypes.array,
searchField: PropTypes.string,
}
1 change: 1 addition & 0 deletions sippy-ng/src/jobs/JobAnalysis.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,7 @@ export function JobAnalysis(props) {
setFilterModel: setTestFilter,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'name',
Comment thread
not-stbenjam marked this conversation as resolved.
},
}}
/>
Expand Down
13 changes: 7 additions & 6 deletions sippy-ng/src/jobs/JobRunsTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -461,17 +461,17 @@ export default function JobRunsTable(props) {
}

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
(f) => f.columnField !== 'job'
)
currentFilters.items.push({
const newItems = filterModel.items.filter((f) => f.columnField !== 'job')
newItems.push({
id: 99,
columnField: 'job',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
Comment thread
not-stbenjam marked this conversation as resolved.
}

useEffect(() => {
Expand Down Expand Up @@ -648,6 +648,7 @@ export default function JobRunsTable(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'job',
filterModel: filterModel,
setFilterModel: setFilterModel,
addFilters: (m) => addFilters(m),
Expand Down
13 changes: 7 additions & 6 deletions sippy-ng/src/jobs/JobTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -533,17 +533,17 @@ function JobTable(props) {
}

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
(f) => f.columnField !== 'name'
)
currentFilters.items.push({
const newItems = filterModel.items.filter((f) => f.columnField !== 'name')
newItems.push({
id: 99,
columnField: 'name',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

useEffect(() => {
Expand Down Expand Up @@ -707,6 +707,7 @@ function JobTable(props) {
columns: gridView.filterColumns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'name',
period: period,
selectPeriod: setPeriod,
addFilters: (m) => addFilters(m),
Expand Down
13 changes: 7 additions & 6 deletions sippy-ng/src/releases/PayloadStreamTestFailures.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -116,17 +116,17 @@ function PayloadStreamTestFailures(props) {
)

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
(f) => f.columnField !== 'name'
)
currentFilters.items.push({
const newItems = filterModel.items.filter((f) => f.columnField !== 'name')
newItems.push({
id: 99,
columnField: 'name',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -259,6 +259,7 @@ function PayloadStreamTestFailures(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'name',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModel,
Expand Down
11 changes: 7 additions & 4 deletions sippy-ng/src/releases/PayloadStreamsTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -127,17 +127,19 @@ function PayloadStreamsTable(props) {
)

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
const newItems = filterModel.items.filter(
(f) => f.columnField !== 'release_tag'
)
currentFilters.items.push({
newItems.push({
id: 99,
columnField: 'release_tag',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -246,6 +248,7 @@ function PayloadStreamsTable(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'release_tag',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModel,
Expand Down
13 changes: 7 additions & 6 deletions sippy-ng/src/releases/PayloadTestFailures.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,17 +95,17 @@ function PayloadTestFailures(props) {
)

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
(f) => f.columnField !== 'name'
)
currentFilters.items.push({
const newItems = filterModel.items.filter((f) => f.columnField !== 'name')
newItems.push({
id: 99,
columnField: 'name',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -232,6 +232,7 @@ function PayloadTestFailures(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'name',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModel,
Expand Down
11 changes: 7 additions & 4 deletions sippy-ng/src/releases/ReleasePayloadJobRuns.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -155,17 +155,19 @@ function ReleasePayloadJobRuns(props) {
)

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
const newItems = filterModel.items.filter(
(f) => f.columnField !== 'release_tag'
)
currentFilters.items.push({
newItems.push({
id: 99,
columnField: 'releaseTag',
Comment thread
not-stbenjam marked this conversation as resolved.
Outdated
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -341,6 +343,7 @@ function ReleasePayloadJobRuns(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'release_tag',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModel,
Expand Down
11 changes: 7 additions & 4 deletions sippy-ng/src/releases/ReleasePayloadPullRequests.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,17 +77,19 @@ function ReleasePayloadPullRequests(props) {
)

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
const newItems = filterModel.items.filter(
(f) => f.columnField !== 'release_tag'
)
currentFilters.items.push({
newItems.push({
id: 99,
columnField: 'release_tag',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -195,6 +197,7 @@ function ReleasePayloadPullRequests(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'release_tag',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModel,
Expand Down
11 changes: 7 additions & 4 deletions sippy-ng/src/releases/ReleasePayloadTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -320,17 +320,19 @@ function ReleasePayloadTable(props) {
}

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
const newItems = filterModel.items.filter(
(f) => f.columnField !== 'release_tag'
)
currentFilters.items.push({
newItems.push({
id: 99,
columnField: 'release_tag',
operatorValue: 'contains',
value: searchValue,
})
setFilterModelWithConversion(currentFilters)
setFilterModelWithConversion({
...filterModel,
items: newItems,
})
}

const addFilters = (filter) => {
Expand Down Expand Up @@ -443,6 +445,7 @@ function ReleasePayloadTable(props) {
columns: columns,
clearSearch: () => requestSearch(''),
doSearch: requestSearch,
searchField: 'release_tag',
addFilters: addFilters,
filterModel: filterModel,
setFilterModel: setFilterModelWithConversion,
Expand Down
13 changes: 7 additions & 6 deletions sippy-ng/src/repositories/RepositoriesTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -278,17 +278,17 @@ function RepositoriesTable(props) {
}

const requestSearch = (searchValue) => {
const currentFilters = filterModel
currentFilters.items = currentFilters.items.filter(
(f) => f.columnField !== 'repo'
)
currentFilters.items.push({
const newItems = filterModel.items.filter((f) => f.columnField !== 'repo')
newItems.push({
id: 99,
columnField: 'repo',
operatorValue: 'contains',
value: searchValue,
})
setFilterModel(currentFilters)
setFilterModel({
...filterModel,
items: newItems,
})
}

return (
Expand Down Expand Up @@ -327,6 +327,7 @@ function RepositoriesTable(props) {
componentsProps={{
toolbar: {
doSearch: requestSearch,
searchField: 'repo',
clearSearch: () => requestSearch(''),
views: gridView.views,
view: view,
Expand Down
Loading