OHIF-260 - "Clear Filters" button should not be visible on first load, when no filters are set (#1873)

This commit is contained in:
Rodrigo Antinarelli 2020-07-22 15:51:20 -03:00 committed by GitHub
parent 8ca3769ba1
commit a6b7657840
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View File

@ -20,7 +20,7 @@ const StudyListPagination = ({
<div className="flex items-center"> <div className="flex items-center">
<div className="relative mr-3"> <div className="relative mr-3">
<select <select
defaultValue={perPage} value={perPage}
className="block appearance-none w-full bg-transparent border border-common-active text-white text-base px-2 pr-4 rounded leading-tight focus:outline-none h-8" className="block appearance-none w-full bg-transparent border border-common-active text-white text-base px-2 pr-4 rounded leading-tight focus:outline-none h-8"
onChange={e => onChangePerPage(e.target.value)} onChange={e => onChangePerPage(e.target.value)}
onBlur={() => {}} onBlur={() => {}}

View File

@ -1,9 +1,10 @@
import React, { Suspense, useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import classnames from 'classnames'; import classnames from 'classnames';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import moment from 'moment'; import moment from 'moment';
import qs from 'query-string'; import qs from 'query-string';
import isEqual from 'lodash.isequal';
// //
import filtersMeta from './filtersMeta.js'; import filtersMeta from './filtersMeta.js';
import { useAppConfig } from '@state'; import { useAppConfig } from '@state';
@ -40,6 +41,7 @@ function WorkList({ history, data: studies, isLoadingData, dataSource }) {
...defaultFilterValues, ...defaultFilterValues,
...queryFilterValues, ...queryFilterValues,
}); });
const debouncedFilterValues = useDebounce(filterValues, 200); const debouncedFilterValues = useDebounce(filterValues, 200);
const { resultsPerPage, pageNumber, sortBy, sortDirection } = filterValues; const { resultsPerPage, pageNumber, sortBy, sortDirection } = filterValues;
@ -181,9 +183,7 @@ function WorkList({ history, data: studies, isLoadingData, dataSource }) {
}, [expandedRows, studies]); }, [expandedRows, studies]);
const isFiltering = (filterValues, defaultFilterValues) => { const isFiltering = (filterValues, defaultFilterValues) => {
return Object.keys(defaultFilterValues).some(name => { return !isEqual(filterValues, defaultFilterValues);
return filterValues[name] !== defaultFilterValues[name];
});
}; };
const tableDataSource = sortedStudies.map((study, key) => { const tableDataSource = sortedStudies.map((study, key) => {
@ -312,6 +312,7 @@ function WorkList({ history, data: studies, isLoadingData, dataSource }) {
disabled={false} disabled={false}
endIcon={<Icon name="launch-arrow" />} // launch-arrow | launch-info endIcon={<Icon name="launch-arrow" />} // launch-arrow | launch-info
className={classnames('font-bold', { 'ml-2': !isFirst })} className={classnames('font-bold', { 'ml-2': !isFirst })}
onClick={() => {}}
> >
{mode.displayName} {mode.displayName}
</Button> </Button>
@ -391,14 +392,15 @@ WorkList.propTypes = {
dataSource: PropTypes.shape({ dataSource: PropTypes.shape({
query: PropTypes.object.isRequired, query: PropTypes.object.isRequired,
}).isRequired, }).isRequired,
isLoadingData: PropTypes.bool.isRequired,
}; };
const defaultFilterValues = { const defaultFilterValues = {
patientName: '', patientName: '',
mrn: '', mrn: '',
studyDate: { studyDate: {
startDate: undefined, startDate: null,
endDate: undefined, endDate: null,
}, },
description: '', description: '',
modalities: [], modalities: [],