diff options
author | Andy Rickert <andrew_rickert@brown.edu> | 2020-07-28 18:49:56 -0400 |
---|---|---|
committer | Andy Rickert <andrew_rickert@brown.edu> | 2020-07-28 18:49:56 -0400 |
commit | ea8fc6cbc6c3b976a0c345e834c6a91d338f97c5 (patch) | |
tree | 3f3eccec2c4e8f195893f121018a98c27c72e2b0 | |
parent | a0f266b7dd7946a12be0d17b523b0a45570c80a6 (diff) |
ui
-rw-r--r-- | src/client/views/search/SearchBox.tsx | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/client/views/search/SearchBox.tsx b/src/client/views/search/SearchBox.tsx index 73932896b..05befc12f 100644 --- a/src/client/views/search/SearchBox.tsx +++ b/src/client/views/search/SearchBox.tsx @@ -199,6 +199,7 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc if (e.target.value === "") { + this.props.Document._schemaHeaders = new List<SchemaHeaderField>([]); console.log("CLOSE"); runInAction(() => { this.open = false }); } @@ -218,7 +219,7 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc // if (this._icons !== this._allIcons) { // runInAction(() => { this.expandedBucket = false }); // } - if (StrCast(this.layoutDoc._searchString) !== "") { + if (StrCast(this.layoutDoc._searchString) !== "" && this.filter === false) { console.log("OPEN"); runInAction(() => { this.open = true }); } @@ -348,10 +349,6 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc const collections: Doc[] = []; selectedDocs.forEach(async element => { const layout: string = StrCast(element.props.Document.layout); - - console.log(DocListCast(element.dataDoc[Doc.LayoutFieldKey(element.dataDoc)])); - console.log(DocListCast(element.dataDoc[Doc.LayoutFieldKey(element.dataDoc)]).length); - //checks if selected view (element) is a collection. if it is, adds to list to search through if (layout.indexOf("Collection") > -1) { //makes sure collections aren't added more than once @@ -472,7 +469,6 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc @action submitSearch = async (reset?: boolean) => { - this.checkIcons(); if (reset) { this.layoutDoc._searchString = ""; @@ -682,6 +678,7 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc @action resultsScrolled = (e?: React.UIEvent<HTMLDivElement>) => { if (!this._resultsRef.current) return; + this.props.Document._schemaHeaders = new List<SchemaHeaderField>([]); const scrollY = e ? e.currentTarget.scrollTop : this._resultsRef.current ? this._resultsRef.current.scrollTop : 0; const itemHght = 53; @@ -767,8 +764,6 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc } } } - - this.props.Document._schemaHeaders = new List<SchemaHeaderField>([]); let schemaheaders: SchemaHeaderField[] = []; this.headerscale = headers.size; headers.forEach((item) => schemaheaders.push(new SchemaHeaderField(item, "#f1efeb"))) @@ -1126,20 +1121,28 @@ export class SearchBox extends ViewBoxBaseComponent<FieldViewProps, SearchBoxDoc <form className="beta" style={{ justifyContent: "space-evenly", display: "flex" }}> <div className="checkbox" style={{ margin: 0 }}> <label style={{ fontSize: 12, marginTop: 6 }}> - <input style={{ marginLeft: -16, marginTop: -1 }} checked={this.filter === true} onChange={() => { runInAction(() => { this.filter = !this.filter }) }} type="checkbox"></input> + <input style={{ marginLeft: -16, marginTop: -1 }} checked={this.filter === true} onChange={() => { + runInAction(() => { + this.filter = !this.filter; this.filter === true ? this.open = false : undefined; this.filter === true ? this.props.Document._schemaHeaders = new List<SchemaHeaderField>([]) : undefined; + }) + }} type="checkbox"></input> Filter </label> </div> {this.filter === true ? <div style={{ display: "contents" }}> <div className="radio" style={{ margin: 0 }}> <label style={{ fontSize: 12, marginTop: 6 }} > - <input type="radio" style={{ marginLeft: -16, marginTop: -1 }} checked={this.scale === false} onChange={() => { runInAction(() => { this.scale = !this.scale }) }} /> + <input type="radio" style={{ marginLeft: -16, marginTop: -1 }} checked={this.scale === false} onChange={() => { + runInAction(() => { + this.scale = !this.scale; this.dataDoc[this.fieldKey] = new List<Doc>([]); + }) + }} /> Current collection </label> </div> <div className="radio" style={{ margin: 0 }}> <label style={{ fontSize: 12, marginTop: 6 }} > - <input style={{ marginLeft: -16, marginTop: -1 }} type="radio" checked={this.scale === true} onChange={() => { runInAction(() => { this.scale = !this.scale }) }} /> + <input style={{ marginLeft: -16, marginTop: -1 }} type="radio" checked={this.scale === true} onChange={() => { runInAction(() => { this.scale = !this.scale; this.dataDoc[this.fieldKey] = new List<Doc>([]); }) }} /> Workspace </label> </div> |