diff options
Diffstat (limited to 'src/client/views/PropertiesView.tsx')
-rw-r--r-- | src/client/views/PropertiesView.tsx | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/client/views/PropertiesView.tsx b/src/client/views/PropertiesView.tsx index 2708c561d..842664402 100644 --- a/src/client/views/PropertiesView.tsx +++ b/src/client/views/PropertiesView.tsx @@ -7,7 +7,7 @@ import { intersection } from 'lodash'; import { action, autorun, computed, Lambda, observable } from 'mobx'; import { observer } from 'mobx-react'; import { ColorState, SketchPicker } from 'react-color'; -import { AclAdmin, AclAugment, AclEdit, AclPrivate, AclReadonly, AclSelfEdit, AclSym, AclUnset, DataSym, Doc, Field, HeightSym, NumListCast, Opt, StrListCast, WidthSym } from '../../fields/Doc'; +import { AclAdmin, AclAugment, AclEdit, AclPrivate, AclReadonly, AclSelfEdit, AclSym, AclUnset, DataSym, Doc, DocListCast, Field, HeightSym, NumListCast, Opt, StrListCast, WidthSym } from '../../fields/Doc'; import { Id } from '../../fields/FieldSymbols'; import { InkField } from '../../fields/InkField'; import { List } from '../../fields/List'; @@ -33,6 +33,7 @@ import { PropertiesDocBacklinksSelector } from './PropertiesDocBacklinksSelector import { PropertiesDocContextSelector } from './PropertiesDocContextSelector'; import './PropertiesView.scss'; import { DefaultStyleProvider } from './StyleProvider'; +import { listSpec } from '../../fields/Schema'; const higflyout = require('@hig/flyout'); export const { anchorPoints } = higflyout; export const Flyout = higflyout.default; @@ -1156,13 +1157,21 @@ export class PropertiesView extends React.Component<PropertiesViewProps> { */ 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<string>(); this.selectedDoc._docRangeFilters = new List<string>(); - (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; + } } }; |