diff options
| author | usodhi <61431818+usodhi@users.noreply.github.com> | 2020-07-01 10:00:26 +0530 | 
|---|---|---|
| committer | usodhi <61431818+usodhi@users.noreply.github.com> | 2020-07-01 10:00:26 +0530 | 
| commit | b46025f3f12fa2de509800c03b89bac375d59c99 (patch) | |
| tree | 72e30988aa94948b728f73836c4e3c4166358dcc /src/client/views/pdf/PDFViewer.tsx | |
| parent | b9eb75e743ceaf8540a7a7d3b6f08b42e75de25c (diff) | |
| parent | 6af97864aabe89153487d37bf78391ff525deadd (diff) | |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into acls_uv
Diffstat (limited to 'src/client/views/pdf/PDFViewer.tsx')
| -rw-r--r-- | src/client/views/pdf/PDFViewer.tsx | 26 | 
1 files changed, 11 insertions, 15 deletions
diff --git a/src/client/views/pdf/PDFViewer.tsx b/src/client/views/pdf/PDFViewer.tsx index 372d01b9c..4fdc82388 100644 --- a/src/client/views/pdf/PDFViewer.tsx +++ b/src/client/views/pdf/PDFViewer.tsx @@ -114,8 +114,8 @@ export class PDFViewer extends ViewBoxAnnotatableComponent<IViewerProps, PdfDocu      private _downX: number = 0;      private _downY: number = 0;      private _coverPath: any; +    private _lastSearch = false;      private _viewerIsSetup = false; -    private _lastSearch: string = "";      @computed get allAnnotations() {          return DocListCast(this.dataDoc[this.props.fieldKey + "-annotations"]). @@ -149,16 +149,11 @@ export class PDFViewer extends ViewBoxAnnotatableComponent<IViewerProps, PdfDocu          runInAction(() => this._showWaiting = this._showCover = true);          this.props.startupLive && this.setupPdfJsViewer();          this._mainCont.current && (this._mainCont.current.scrollTop = this.layoutDoc._scrollTop || 0); -        this._searchReactionDisposer = reaction(() => this.Document.searchMatch, search => { -            if (search) { -                this.search(Doc.SearchQuery(), true); -                this._lastSearch = Doc.SearchQuery(); -            } -            else { -                setTimeout(() => this._lastSearch === "mxytzlaf" && this.search("mxytzlaf", true), 200); // bcz: how do we clear search highlights? -                this._lastSearch && (this._lastSearch = "mxytzlaf"); -            } -        }, { fireImmediately: true }); +        this._searchReactionDisposer = reaction(() => this.Document.searchMatch, +            m => { +                if (m) (this._lastSearch = true) && this.search(Doc.SearchQuery(), true); +                else !(this._lastSearch = false) && setTimeout(() => !this._lastSearch && this.search("", false, true), 200); +            }, { fireImmediately: true });          this._selectionReactionDisposer = reaction(() => this.props.isSelected(),              selected => { @@ -395,11 +390,12 @@ export class PDFViewer extends ViewBoxAnnotatableComponent<IViewerProps, PdfDocu      }      @action -    search = (searchString: string, fwd: boolean) => { -        if (!searchString) { +    search = (searchString: string, fwd: boolean, clear: boolean = false) => { +        if (clear) { +            this._pdfViewer.findController.executeCommand('reset', {}); +        } else if (!searchString) {              fwd ? this.nextAnnotation() : this.prevAnnotation(); -        } -        else if (this._pdfViewer.pageViewsReady) { +        } else if (this._pdfViewer.pageViewsReady) {              this._pdfViewer.findController.executeCommand('findagain', {                  caseSensitive: false,                  findPrevious: !fwd,  | 
