diff options
author | bobzel <zzzman@gmail.com> | 2022-02-16 10:40:13 -0500 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2022-02-16 10:40:13 -0500 |
commit | a069560e3dd6fa4acf413409d56c5fbb6e9f8808 (patch) | |
tree | 1aa3af089251e8adcb7fdad9304dda462f65ca17 /src | |
parent | 18ce93d480cea51087672649382f92c5462ae085 (diff) |
changed incremental loading to generate update requests more quickly. turned on local browser caching of server responses (eg, images)
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx | 8 | ||||
-rw-r--r-- | src/client/views/nodes/DocumentView.tsx | 2 | ||||
-rw-r--r-- | src/client/views/nodes/WebBox.tsx | 5 | ||||
-rw-r--r-- | src/server/server_Initialization.ts | 7 |
4 files changed, 15 insertions, 7 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx index 85187c347..689b6a1b6 100644 --- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx +++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx @@ -1302,7 +1302,7 @@ export class CollectionFreeFormView extends CollectionSubView<PanZoomDocument, P return { newPool, computedElementData: this.doFreeformLayout(newPool) }; } - @observable _numLoaded = 0; + @observable _numLoaded = 1; NumLoaded = () => this._numLoaded; get doLayoutComputation() { const { newPool, computedElementData } = this.doInternalLayoutComputation; @@ -1562,8 +1562,10 @@ export class CollectionFreeFormView extends CollectionSubView<PanZoomDocument, P } incrementalRender = action(() => { - this._numLoaded++; - this._numLoaded < this.views.length && setTimeout(this.incrementalRender, 25); + if (!LightboxView.LightboxDoc || LightboxView.IsLightboxDocView(this.props.docViewPath())) { + this._numLoaded++; + } + this._numLoaded < this.views.length && setTimeout(this.incrementalRender, 1); }) children = () => { diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx index b537cd370..9450aedb5 100644 --- a/src/client/views/nodes/DocumentView.tsx +++ b/src/client/views/nodes/DocumentView.tsx @@ -865,7 +865,7 @@ export class DocumentViewInternal extends DocComponent<DocumentViewInternalProps focus={this.focus} layoutKey={this.finalLayoutKey} /> {(this.isContentActive() && !SnappingManager.GetIsDragging()) || !thumb ? (null) : - <img style={{ background: "white", top: 0, position: "absolute" }} src={thumb + '?d=' + (new Date()).getTime()} + <img style={{ background: "white", top: 0, position: "absolute" }} src={thumb} // + '?d=' + (new Date()).getTime()} width={this.props.PanelWidth()} height={this.props.PanelHeight()} />} {this.layoutDoc.hideAllLinks ? (null) : this.allLinkEndpoints} {this.hideLinkButton || this.props.renderDepth === -1 || SnappingManager.GetIsDragging() ? (null) : diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx index f384f97cd..dd971aafa 100644 --- a/src/client/views/nodes/WebBox.tsx +++ b/src/client/views/nodes/WebBox.tsx @@ -65,6 +65,7 @@ export class WebBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps @observable private _searching: boolean = false; @observable private _showSidebar = false; @observable private _scrollTimer: any; + @observable private _webPageHasBeenRendered = false; @observable private _overlayAnnoInfo: Opt<Doc>; @observable private _marqueeing: number[] | undefined; @observable private _isAnnotating = false; @@ -145,7 +146,7 @@ export class WebBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps NumCast(this.layoutDoc._scrollTop) ).then ((dataUrl: any) => { - VideoBox.convertDataUri(dataUrl, this.layoutDoc[Id] + "-thumb", true).then( + VideoBox.convertDataUri(dataUrl, this.layoutDoc[Id] + "-thumb" + (new Date()).getTime(), true).then( returnedfilename => setTimeout(action(() => this.layoutDoc.thumb = new ImageField(returnedfilename)), 500)); }) .catch(function (error: any) { @@ -552,8 +553,6 @@ export class WebBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProps } } - @observable _webPageHasBeenRendered = false; - @computed get urlContent() { if (this._hackHide || (this.webThumb && !this._webPageHasBeenRendered)) return (null); const field = this.dataDoc[this.props.fieldKey]; diff --git a/src/server/server_Initialization.ts b/src/server/server_Initialization.ts index b06437907..3bdc93f10 100644 --- a/src/server/server_Initialization.ts +++ b/src/server/server_Initialization.ts @@ -92,6 +92,13 @@ function buildWithMiddleware(server: express.Express) { passport.session(), (req: express.Request, res: express.Response, next: express.NextFunction) => { res.locals.user = req.user; + if (req.method == 'GET') { + const period = 30000; + res.set('Cache-control', `public, max-age=${period}`) + } else { + // for the other requests set strict no caching parameters + res.set('Cache-control', `no-store`) + } next(); } ].forEach(next => server.use(next)); |