aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/views/PropertiesView.tsx20
-rw-r--r--src/client/views/nodes/DocumentView.tsx4
-rw-r--r--src/client/views/nodes/FilterBox.tsx6
3 files changed, 20 insertions, 10 deletions
diff --git a/src/client/views/PropertiesView.tsx b/src/client/views/PropertiesView.tsx
index 388b688cd..a159a9948 100644
--- a/src/client/views/PropertiesView.tsx
+++ b/src/client/views/PropertiesView.tsx
@@ -31,6 +31,7 @@ import "./PropertiesView.scss";
import { DefaultStyleProvider, FilteringStyleProvider } from "./StyleProvider";
import { CurrentUserUtils } from "../util/CurrentUserUtils";
import { FilterBox } from "./nodes/FilterBox";
+import { List } from "../../fields/List";
const higflyout = require("@hig/flyout");
export const { anchorPoints } = higflyout;
export const Flyout = higflyout.default;
@@ -901,16 +902,25 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
}
checkFilterDoc() {
- if (this.filterDoc.type === DocumentType.COL && !this.filterDoc.currentFilter) CurrentUserUtils.setupFilterDocs(this.filterDoc!);
+ if (this.filterDoc.type === DocumentType.COL && !this.filterDoc.currentFilter) CurrentUserUtils.setupFilterDocs(this.filterDoc);
}
- saveFilter = () => {
+ createNewFilterDoc = () => {
+ const temp = this.filterDoc._docFilters;
+ this.filterDoc._docFilters = new List<string>();
+ (this.filterDoc.currentFilter as Doc)._docFiltersList = temp;
this.filterDoc.currentFilter = undefined;
CurrentUserUtils.setupFilterDocs(this.filterDoc);
}
- myFiltersSelect = (doc: Doc) => {
+ updateFilterDoc = (doc: Doc) => {
+ const temp = doc._docFiltersList;
+ const otherTemp = this.filterDoc._docFilters;
+ this.filterDoc._docFilters = new List<string>();
+ (this.filterDoc.currentFilter as Doc)._docFiltersList = otherTemp;
this.filterDoc.currentFilter = doc;
+ doc._docFiltersList = new List<string>();
+ this.filterDoc._docFilters = temp;
}
@computed get filtersSubMenu() {
@@ -949,8 +959,8 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
searchFilterDocs={returnEmptyDoclist}
ContainingCollectionView={undefined}
ContainingCollectionDoc={undefined}
- filterSaveCallback={this.saveFilter}
- myFiltersCallback={this.myFiltersSelect}
+ createNewFilterDoc={this.createNewFilterDoc}
+ updateFilterDoc={this.updateFilterDoc}
docViewPath={returnEmptyDoclist}
layerProvider={undefined}
/>
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index f99eb1b3b..ee4df97ed 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -120,8 +120,8 @@ export interface DocumentViewSharedProps {
cantBrush?: boolean; // whether the document doesn't show brush highlighting
pointerEvents?: string;
scriptContext?: any; // can be assigned anything and will be passed as 'scriptContext' to any OnClick script that executes on this document
- filterSaveCallback?: () => void;
- myFiltersCallback?: (doc: Doc) => void;
+ createNewFilterDoc?: () => void;
+ updateFilterDoc?: (doc: Doc) => void;
}
export interface DocumentViewProps extends DocumentViewSharedProps {
// properties specific to DocumentViews but not to FieldView
diff --git a/src/client/views/nodes/FilterBox.tsx b/src/client/views/nodes/FilterBox.tsx
index 987939d65..a3a3ec662 100644
--- a/src/client/views/nodes/FilterBox.tsx
+++ b/src/client/views/nodes/FilterBox.tsx
@@ -48,7 +48,7 @@ export class FilterBox extends ViewBoxBaseComponent<FieldViewProps, FilterBoxDoc
public static LayoutString(fieldKey: string) { return FieldView.LayoutString(FilterBox, fieldKey); }
public _filterBoolean = "AND";
- public static _filterScope = "Current Dashboard";
+ @observable public static _filterScope = "Current Dashboard";
public _filterSelected = false;
public _filterMatch = "matched";
// private myFiltersRef = React.createRef<HTMLDivElement>();
@@ -309,7 +309,7 @@ export class FilterBox extends ViewBoxBaseComponent<FieldViewProps, FilterBoxDoc
const flyout = DocListCast(Doc.UserDoc().savedFilters).map(doc => {
// console.log("mapping");
return <>
- <div className="???" onWheel={e => e.stopPropagation()} style={{ height: 50, border: "2px" }} onPointerDown={() => this.props.myFiltersCallback?.(doc)}>
+ <div className="???" onWheel={e => e.stopPropagation()} style={{ height: 50, border: "2px" }} onPointerDown={() => this.props.updateFilterDoc?.(doc)}>
{StrCast(doc.title)}
</div>
</>;
@@ -419,7 +419,7 @@ export class FilterBox extends ViewBoxBaseComponent<FieldViewProps, FilterBoxDoc
</div>
<div className="filterBox-saveWrapper">
<div className="filterBox-saveBookmark"
- onPointerDown={this.props.filterSaveCallback}
+ onPointerDown={this.props.createNewFilterDoc}
>
<div>NEW</div>
</div>