aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/search
diff options
context:
space:
mode:
authorab <abdullah_ahmed@brown.edu>2019-07-02 14:32:10 -0400
committerab <abdullah_ahmed@brown.edu>2019-07-02 14:32:10 -0400
commitbd03aebc435d07983d7100787b41028a3673fd98 (patch)
tree552b01e1abfc637edfb07e21525f9b18d5c41800 /src/client/views/search
parentc2e03a9dfe8910a15ab1b8d3d2af77a5bb82a12d (diff)
idk
Diffstat (limited to 'src/client/views/search')
-rw-r--r--src/client/views/search/SearchBox.tsx2
-rw-r--r--src/client/views/search/SearchItem.tsx28
2 files changed, 25 insertions, 5 deletions
diff --git a/src/client/views/search/SearchBox.tsx b/src/client/views/search/SearchBox.tsx
index dc21e4a3c..2582c0d94 100644
--- a/src/client/views/search/SearchBox.tsx
+++ b/src/client/views/search/SearchBox.tsx
@@ -192,7 +192,7 @@ export class SearchBox extends React.Component {
</div>
<div className="searchBox-results" style={this._resultsOpen ? { display: "flex" } : { display: "none" }}>
{(this._results.length !== 0) ? (
- this._results.map(result => <SearchItem doc={result} key={result[Id]} />)
+ this._results.map(result => <SearchItem doc={result} query={this._searchString} key={result[Id]} />)
) :
this._openNoResults ? (<div className="no-result">No Search Results</div>) : null}
</div>
diff --git a/src/client/views/search/SearchItem.tsx b/src/client/views/search/SearchItem.tsx
index f4ea3ee09..d2e57c5ca 100644
--- a/src/client/views/search/SearchItem.tsx
+++ b/src/client/views/search/SearchItem.tsx
@@ -21,9 +21,14 @@ import { DocumentView } from "../nodes/DocumentView";
import { SearchBox } from "./SearchBox";
import "./SearchItem.scss";
import "./SelectorContextMenu.scss";
+import { RichTextField } from "../../../new_fields/RichTextField";
+import { FormattedTextBox } from "../nodes/FormattedTextBox";
+import { MarqueeView } from "../collections/collectionFreeForm/MarqueeView";
+import { SelectionManager } from "../../util/SelectionManager";
export interface SearchItemProps {
doc: Doc;
+ query?: string;
}
library.add(faCaretUp);
@@ -120,8 +125,8 @@ export class LinkContextMenu extends React.Component<LinkMenuProps> {
return (
<div className="parents">
<p className="contexts">Anchors:</p>
- <div className = "collection"><a onMouseEnter = {this.highlightDoc(this.props.doc1)} onMouseLeave = {this.unHighlightDoc(this.props.doc1)} onClick = {this.getOnClick(this.props.doc1)}>Doc 1: {this.props.doc2.title}</a></div>
- <div><a onMouseEnter = {this.highlightDoc(this.props.doc2)} onMouseLeave = {this.unHighlightDoc(this.props.doc2)} onClick = {this.getOnClick(this.props.doc2)}>Doc 2: {this.props.doc1.title}</a></div>
+ <div className="collection"><a onMouseEnter={this.highlightDoc(this.props.doc1)} onMouseLeave={this.unHighlightDoc(this.props.doc1)} onClick={this.getOnClick(this.props.doc1)}>Doc 1: {this.props.doc2.title}</a></div>
+ <div><a onMouseEnter={this.highlightDoc(this.props.doc2)} onMouseLeave={this.unHighlightDoc(this.props.doc2)} onClick={this.getOnClick(this.props.doc2)}>Doc 2: {this.props.doc1.title}</a></div>
</div>
)
}
@@ -135,10 +140,25 @@ export class SearchItem extends React.Component<SearchItemProps> {
onClick = () => {
DocumentManager.Instance.jumpToDocument(this.props.doc, false);
+ if (this.props.doc.data instanceof RichTextField) {
+ this.highlightTextBox(this.props.doc);
+ }
}
@observable _useIcons = true;
@observable _displayDim = 50;
+ highlightTextBox = (doc: Doc) => {
+ if (this.props.query) {
+ doc.search_string = this.props.query;
+ // FormattedTextBox.Instance.highlightSearchTerms([this.props.query]);
+ }
+ else {
+ // FormattedTextBox.Instance.highlightSearchTerms(["hello"]);
+ doc.search_string = "hello";
+ }
+ }
+
+
@computed
public get DocumentIcon() {
let layoutresult = StrCast(this.props.doc.type);
@@ -282,8 +302,8 @@ export class SearchItem extends React.Component<SearchItemProps> {
</div>
</div>
<div className="searchBox-instances">
- {this.props.doc.type === DocTypes.LINK ? <LinkContextMenu doc1 = {Cast(this.props.doc.anchor1, Doc, new Doc())} doc2 = {Cast(this.props.doc.anchor2, Doc, new Doc())}/> :
- <SelectorContextMenu {...this.props} /> }
+ {this.props.doc.type === DocTypes.LINK ? <LinkContextMenu doc1={Cast(this.props.doc.anchor1, Doc, new Doc())} doc2={Cast(this.props.doc.anchor2, Doc, new Doc())} /> :
+ <SelectorContextMenu {...this.props} />}
</div>
</div>
);