diff options
| author | srichman333 <sarah_n_richman@brown.edu> | 2023-10-10 16:21:41 -0400 |
|---|---|---|
| committer | srichman333 <sarah_n_richman@brown.edu> | 2023-10-10 16:21:41 -0400 |
| commit | 9e91e6065333f03d3f3bf2c0d43b822d85344c78 (patch) | |
| tree | 4c923fc8257b597d69700bee4c1a4e69d3cbe21a /src/client/views/OverlayView.tsx | |
| parent | 368e33c076085b1b73f522ac88f548a2ad081c80 (diff) | |
| parent | d929c0511cae863412a398f426d9e5b7ca64e6d9 (diff) | |
merge?
Diffstat (limited to 'src/client/views/OverlayView.tsx')
| -rw-r--r-- | src/client/views/OverlayView.tsx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/client/views/OverlayView.tsx b/src/client/views/OverlayView.tsx index 62aa4d1d4..c174befc0 100644 --- a/src/client/views/OverlayView.tsx +++ b/src/client/views/OverlayView.tsx @@ -1,4 +1,3 @@ - import { action, computed, observable } from 'mobx'; import { observer } from 'mobx-react'; import { computedFn } from 'mobx-utils'; @@ -17,6 +16,7 @@ import { LightboxView } from './LightboxView'; import { DocumentView, DocumentViewInternal } from './nodes/DocumentView'; import './OverlayView.scss'; import { DefaultStyleProvider } from './StyleProvider'; +const _global = (window /* browser */ || global) /* node */ as any; export type OverlayDisposer = () => void; @@ -116,6 +116,20 @@ export class OverlayView extends React.Component { super(props); if (!OverlayView.Instance) { OverlayView.Instance = this; + new _global.ResizeObserver( + action((entries: any) => { + for (const entry of entries) { + DocListCast(Doc.MyOverlayDocs?.data).forEach(doc => { + if (NumCast(doc.overlayX) > entry.contentRect.width - 10) { + doc.overlayX = entry.contentRect.width - 10; + } + if (NumCast(doc.overlayY) > entry.contentRect.height - 10) { + doc.overlayY = entry.contentRect.height - 10; + } + }); + } + }) + ).observe(window.document.body); } } |
