diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/PropertiesView.tsx | 23 | ||||
-rw-r--r-- | src/client/views/collections/CollectionSubView.tsx | 2 | ||||
-rw-r--r-- | src/client/views/nodes/FilterBox.tsx | 16 |
3 files changed, 30 insertions, 11 deletions
diff --git a/src/client/views/PropertiesView.tsx b/src/client/views/PropertiesView.tsx index 782a0e29e..0b1d75970 100644 --- a/src/client/views/PropertiesView.tsx +++ b/src/client/views/PropertiesView.tsx @@ -916,9 +916,12 @@ export class PropertiesView extends React.Component<PropertiesViewProps> { * Creates a new currentFilter for this.filterDoc, */ createNewFilterDoc = () => { - const temp = this.filterDoc._docFilters; + const currentDocFilters = this.filterDoc._docFilters; + const currentDocRangeFilters = this.filterDoc._docRangeFilters; this.filterDoc._docFilters = new List<string>(); - (this.filterDoc.currentFilter as Doc)._docFiltersList = temp; + this.filterDoc._docRangeFilters = new List<string>(); + (this.filterDoc.currentFilter as Doc)._docFiltersList = currentDocFilters; + (this.filterDoc.currentFilter as Doc)._docRangeFiltersList = currentDocRangeFilters; this.filterDoc.currentFilter = undefined; CurrentUserUtils.setupFilterDocs(this.filterDoc); } @@ -928,13 +931,21 @@ export class PropertiesView extends React.Component<PropertiesViewProps> { */ updateFilterDoc = (doc: Doc) => { if (doc === this.filterDoc.currentFilter) return; // causes problems if you try to reapply the same doc - const temp = doc._docFiltersList; - const otherTemp = this.filterDoc._docFilters; + const savedDocFilters = doc._docFiltersList; + const currentDocFilters = this.filterDoc._docFilters; this.filterDoc._docFilters = new List<string>(); - (this.filterDoc.currentFilter as Doc)._docFiltersList = otherTemp; + (this.filterDoc.currentFilter as Doc)._docFiltersList = currentDocFilters; this.filterDoc.currentFilter = doc; doc._docFiltersList = new List<string>(); - this.filterDoc._docFilters = temp; + this.filterDoc._docFilters = savedDocFilters; + + const savedDocRangeFilters = doc._docRangeFiltersList; + const currentDocRangeFilters = this.filterDoc._docRangeFilters; + this.filterDoc._docRangeFilters = new List<string>(); + (this.filterDoc.currentFilter as Doc)._docRangeFiltersList = currentDocRangeFilters; + this.filterDoc.currentFilter = doc; + doc._docRangeFiltersList = new List<string>(); + this.filterDoc._docRangeFilters = savedDocRangeFilters; } @computed get filtersSubMenu() { diff --git a/src/client/views/collections/CollectionSubView.tsx b/src/client/views/collections/CollectionSubView.tsx index 57e1a50bb..0c022eba3 100644 --- a/src/client/views/collections/CollectionSubView.tsx +++ b/src/client/views/collections/CollectionSubView.tsx @@ -82,7 +82,7 @@ export function CollectionSubView<T, X>(schemaCtor: (doc: Doc) => T, moreProps?: return Cast(this.dataField, listSpec(Doc)); } docFilters = () => { - return [...this.props.docFilters(), ...Cast(this.props.Document?._docFilters, listSpec("string"), [])]; + return [...this.props.docFilters(), ...Cast(this.props.Document._docFilters, listSpec("string"), [])]; } docRangeFilters = () => { return [...this.props.docRangeFilters(), ...Cast(this.props.Document._docRangeFilters, listSpec("string"), [])]; diff --git a/src/client/views/nodes/FilterBox.tsx b/src/client/views/nodes/FilterBox.tsx index 718ebca28..c8e9cc162 100644 --- a/src/client/views/nodes/FilterBox.tsx +++ b/src/client/views/nodes/FilterBox.tsx @@ -282,14 +282,22 @@ export class FilterBox extends ViewBoxBaseComponent<FieldViewProps, FilterBoxDoc @action changeScope = (e: any) => { if (FilterBox._filterScope === "Current Dashboard" && e.currentTarget.value === "Current Collection") { - const temp = CurrentUserUtils.ActiveDashboard._docFilters; + const currentDashboardDocFilters = CurrentUserUtils.ActiveDashboard._docFilters; CurrentUserUtils.ActiveDashboard._docFilters = new List<string>(); - (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docFilterList = temp; + (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docFilterList = currentDashboardDocFilters; + + const currentDashboardDocRangeFilters = CurrentUserUtils.ActiveDashboard._docRangeFilters; + CurrentUserUtils.ActiveDashboard._docRangeFilters = new List<string>(); + (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docRangeFilterList = currentDashboardDocRangeFilters; } else if (FilterBox._filterScope === "Current Collection" && e.currentTarget.value === "Current Dashboard") { - const temp = (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docFilterList; + const savedDashboardDocFilters = (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docFilterList; (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docFilterList = undefined; - CurrentUserUtils.ActiveDashboard._docFilters = temp; + CurrentUserUtils.ActiveDashboard._docFilters = savedDashboardDocFilters; + + const savedDashboardDocRangeFilters = (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docRangeFilterList; + (CurrentUserUtils.ActiveDashboard.currentFilter as Doc)._docRangeFilterList = undefined; + CurrentUserUtils.ActiveDashboard._docRangeFilters = savedDashboardDocRangeFilters; } FilterBox._filterScope = e.currentTarget.value; } |