From 7869b13de37b9d910f455be79f6bf55ecfe49b26 Mon Sep 17 00:00:00 2001 From: bobzel Date: Tue, 13 Sep 2022 15:51:20 -0400 Subject: make filterBox reuse filter if it is unsaved. --- src/client/views/PropertiesView.tsx | 14 +++++++++++--- src/client/views/nodes/FilterBox.tsx | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/client/views/PropertiesView.tsx b/src/client/views/PropertiesView.tsx index 555320aed..842664402 100644 --- a/src/client/views/PropertiesView.tsx +++ b/src/client/views/PropertiesView.tsx @@ -1157,13 +1157,21 @@ export class PropertiesView extends React.Component { */ createNewFilterDoc = () => { if (this.selectedDoc) { + const curFilterDoc = DocCast(this.selectedDoc.currentFilter); const currentDocFilters = this.selectedDoc._docFilters; const currentDocRangeFilters = this.selectedDoc._docRangeFilters; this.selectedDoc._docFilters = new List(); this.selectedDoc._docRangeFilters = new List(); - (this.selectedDoc.currentFilter as Doc)._docFiltersList = currentDocFilters; - (this.selectedDoc.currentFilter as Doc)._docRangeFiltersList = currentDocRangeFilters; - this.selectedDoc.currentFilter = FilterBox.createFilterDoc(); + if (DocListCast(Doc.UserDoc().savedFilters).includes(curFilterDoc)) { + curFilterDoc._docFiltersList = currentDocFilters; + curFilterDoc._docRangeFiltersList = currentDocRangeFilters; + this.selectedDoc.currentFilter = FilterBox.createFilterDoc(); + } else { + Doc.GetProto(curFilterDoc).data = undefined; + Doc.GetProto(curFilterDoc).title = 'Unnamed Filter'; + curFilterDoc._docFiltersList = undefined; + curFilterDoc._docRangeFiltersList = undefined; + } } }; diff --git a/src/client/views/nodes/FilterBox.tsx b/src/client/views/nodes/FilterBox.tsx index 54501cfa2..04d252abe 100644 --- a/src/client/views/nodes/FilterBox.tsx +++ b/src/client/views/nodes/FilterBox.tsx @@ -379,7 +379,7 @@ export class FilterBox extends ViewBoxBaseComponent() { * Changes the title of the filterDoc */ onTitleValueChange = (val: string) => { - this.props.Document.title = val || `FilterDoc for ${FilterBox.targetDoc?.title}`; + Doc.GetProto(this.props.Document).title = val || `FilterDoc for ${FilterBox.targetDoc?.title}`; return true; }; -- cgit v1.2.3-70-g09d2