aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/pdf/PDFViewer.tsx
diff options
context:
space:
mode:
authorusodhi <61431818+usodhi@users.noreply.github.com>2020-07-01 10:00:26 +0530
committerusodhi <61431818+usodhi@users.noreply.github.com>2020-07-01 10:00:26 +0530
commitb46025f3f12fa2de509800c03b89bac375d59c99 (patch)
tree72e30988aa94948b728f73836c4e3c4166358dcc /src/client/views/pdf/PDFViewer.tsx
parentb9eb75e743ceaf8540a7a7d3b6f08b42e75de25c (diff)
parent6af97864aabe89153487d37bf78391ff525deadd (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.tsx26
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,