aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/views/PropertiesView.tsx23
-rw-r--r--src/client/views/collections/CollectionSubView.tsx2
-rw-r--r--src/client/views/nodes/FilterBox.tsx16
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;
}