From 3199fe08e8ec95e9fe80c3bd57bc24e5a3d73625 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 4 Jul 2019 19:10:59 -0700 Subject: [PATCH] Custom Filter improvements Fixed: Removing Custom Filter left spinner visible Fixed: Custom filter/tag input being cutoff on iOS --- .../Filter/Builder/FilterBuilderRowValueConnector.js | 11 ++++++++--- .../Filter/Builder/FilterBuilderRowValueTag.css | 4 +++- .../CustomFilters/CustomFiltersModalContent.js | 4 ++-- frontend/src/Components/Form/AutoSuggestInput.css | 7 ++++--- frontend/src/Components/Form/TagInput.css | 3 ++- frontend/src/Components/Form/TagInputInput.css | 1 + frontend/src/Store/Actions/seriesIndexActions.js | 12 +++++++++++- 7 files changed, 31 insertions(+), 11 deletions(-) diff --git a/frontend/src/Components/Filter/Builder/FilterBuilderRowValueConnector.js b/frontend/src/Components/Filter/Builder/FilterBuilderRowValueConnector.js index ac74240e4..c8813284e 100644 --- a/frontend/src/Components/Filter/Builder/FilterBuilderRowValueConnector.js +++ b/frontend/src/Components/Filter/Builder/FilterBuilderRowValueConnector.js @@ -3,16 +3,21 @@ import { connect } from 'react-redux'; import { createSelector } from 'reselect'; import sortByName from 'Utilities/Array/sortByName'; import { filterBuilderTypes } from 'Helpers/Props'; +import * as filterTypes from 'Helpers/Props/filterTypes'; import FilterBuilderRowValue from './FilterBuilderRowValue'; function createTagListSelector() { return createSelector( + (state, { filterType }) => filterType, (state, { sectionItems }) => sectionItems, (state, { selectedFilterBuilderProp }) => selectedFilterBuilderProp, - (sectionItems, selectedFilterBuilderProp) => { + (filterType, sectionItems, selectedFilterBuilderProp) => { if ( - selectedFilterBuilderProp.type === filterBuilderTypes.NUMBER || - selectedFilterBuilderProp.type === filterBuilderTypes.STRING + (selectedFilterBuilderProp.type === filterBuilderTypes.NUMBER || + selectedFilterBuilderProp.type === filterBuilderTypes.STRING) && + filterType !== filterTypes.EQUAL && + filterType !== filterBuilderTypes.NOT_EQUAL || + !selectedFilterBuilderProp.optionsSelector ) { return []; } diff --git a/frontend/src/Components/Filter/Builder/FilterBuilderRowValueTag.css b/frontend/src/Components/Filter/Builder/FilterBuilderRowValueTag.css index 9bf027af9..62635b67c 100644 --- a/frontend/src/Components/Filter/Builder/FilterBuilderRowValueTag.css +++ b/frontend/src/Components/Filter/Builder/FilterBuilderRowValueTag.css @@ -1,4 +1,6 @@ .tag { + height: 21px; + &.isLastTag { .or { display: none; @@ -7,7 +9,7 @@ } .label { - composes: label from '~Components/Label.css'; + composes: label from "~Components/Label.css"; border-style: none; font-size: 13px; diff --git a/frontend/src/Components/Filter/CustomFilters/CustomFiltersModalContent.js b/frontend/src/Components/Filter/CustomFilters/CustomFiltersModalContent.js index 1a7168fca..fb2c13a12 100644 --- a/frontend/src/Components/Filter/CustomFilters/CustomFiltersModalContent.js +++ b/frontend/src/Components/Filter/CustomFilters/CustomFiltersModalContent.js @@ -29,10 +29,10 @@ function CustomFiltersModalContent(props) { { - customFilters.map((customFilter, index) => { + customFilters.map((customFilter) => { return ( { + return { + id: series.network, + name: series.network + }; + }); + + return tagList.sort(sortByName); + } }, { name: 'qualityProfileId',