aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/MainView.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-01-25 00:07:39 -0500
committerGitHub <noreply@github.com>2024-01-25 00:07:39 -0500
commitbdcada2f285a3cdbefe55f5dc46836b7cbe6423d (patch)
tree0058dae39c9c9ebfe16f4659bd1fa98715260873 /src/client/views/MainView.tsx
parenteae271b661465c915ea3a27ff25406409c4b377f (diff)
parentf71d5693bb2c7e79e459a97d9a855cd0542dd7e9 (diff)
Merge pull request #291 from brown-dash/UpgradingRedux
Upgrading redux
Diffstat (limited to 'src/client/views/MainView.tsx')
-rw-r--r--src/client/views/MainView.tsx86
1 files changed, 27 insertions, 59 deletions
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx
index 35ffab337..eca0aca4c 100644
--- a/src/client/views/MainView.tsx
+++ b/src/client/views/MainView.tsx
@@ -15,6 +15,7 @@ import { DocServer } from '../DocServer';
import { GoogleAuthenticationManager } from '../apis/GoogleAuthenticationManager';
import { CollectionViewType, DocumentType } from '../documents/DocumentTypes';
import { Docs } from '../documents/Documents';
+import { CalendarManager } from '../util/CalendarManager';
import { CaptureManager } from '../util/CaptureManager';
import { DocumentManager } from '../util/DocumentManager';
import { DragManager } from '../util/DragManager';
@@ -31,7 +32,6 @@ import { SnappingManager } from '../util/SnappingManager';
import { Transform } from '../util/Transform';
import { ReportManager } from '../util/reportManager/ReportManager';
import { ComponentDecorations } from './ComponentDecorations';
-import { SchemaCSVPopUp } from './nodes/DataVizBox/SchemaCSVPopUp';
import { ContextMenu } from './ContextMenu';
import { DashboardView } from './DashboardView';
import { DictationOverlay } from './DictationOverlay';
@@ -55,14 +55,14 @@ import { MarqueeOptionsMenu } from './collections/collectionFreeForm/MarqueeOpti
import { CollectionLinearView } from './collections/collectionLinear';
import { LinkMenu } from './linking/LinkMenu';
import { AudioBox } from './nodes/AudioBox';
+import { SchemaCSVPopUp } from './nodes/DataVizBox/SchemaCSVPopUp';
import { DocButtonState } from './nodes/DocumentLinksButton';
-import { DocumentView, DocumentViewInternal, OpenWhere, OpenWhereMod } from './nodes/DocumentView';
+import { DocumentView, DocumentViewInternal, OpenWhere, OpenWhereMod, returnEmptyDocViewList } from './nodes/DocumentView';
import { ImageBox } from './nodes/ImageBox';
import { LinkDescriptionPopup } from './nodes/LinkDescriptionPopup';
import { LinkDocPreview, LinkInfo } from './nodes/LinkDocPreview';
+import { DirectionsAnchorMenu } from './nodes/MapBox/DirectionsAnchorMenu';
import { MapAnchorMenu } from './nodes/MapBox/MapAnchorMenu';
-import { MapBox } from './nodes/MapBox/MapBox';
-import { RadialMenu } from './nodes/RadialMenu';
import { TaskCompletionBox } from './nodes/TaskCompletedBox';
import { DashFieldViewMenu } from './nodes/formattedText/DashFieldView';
import { FormattedTextBox } from './nodes/formattedText/FormattedTextBox';
@@ -72,9 +72,8 @@ import { PresBox } from './nodes/trails';
import { AnchorMenu } from './pdf/AnchorMenu';
import { GPTPopup } from './pdf/GPTPopup/GPTPopup';
import { TopBar } from './topbar/TopBar';
+import { DocData } from '../../fields/DocSymbols';
const { default: { LEFT_MENU_WIDTH, TOPBAR_HEIGHT } } = require('./global/globalCssVariables.module.scss'); // prettier-ignore
-import { DirectionsAnchorMenu } from './nodes/MapBox/DirectionsAnchorMenu';
-import { CalendarManager } from '../util/CalendarManager';
const _global = (window /* browser */ || global) /* node */ as any;
@observer
@@ -132,9 +131,19 @@ export class MainView extends ObservableReactComponent<{}> {
@computed public get mainFreeform(): Opt<Doc> {
return (docs => (docs?.length > 1 ? docs[1] : undefined))(DocListCast(this.mainContainer!.data));
}
+ @observable public headerBarHeight: number = 0;
+ headerBarHeightFunc = () => this.headerBarHeight;
+ @action
+ toggleTopBar = () => {
+ if (this.headerBarHeight > 0) {
+ this.headerBarHeight = 0;
+ } else {
+ this.headerBarHeight = 60;
+ }
+ };
headerBarDocWidth = () => this.mainDocViewWidth();
- headerBarDocHeight = () => (this._hideUI ? 0 : SettingsManager.Instance?.headerBarHeight ?? 0);
+ headerBarDocHeight = () => (this._hideUI ? 0 : this.headerBarHeight ?? 0);
topMenuHeight = () => (this._hideUI ? 0 : 35);
topMenuWidth = returnZero; // value is ignored ...
leftMenuWidth = () => (this._hideUI ? 0 : Number(LEFT_MENU_WIDTH.replace('px', '')));
@@ -606,7 +615,7 @@ export class MainView extends ObservableReactComponent<{}> {
Document={this.headerBarDoc}
addDocTab={DocumentViewInternal.addDocTabFunc}
pinToPres={emptyFunction}
- docViewPath={returnEmptyDoclist}
+ containerViewPath={returnEmptyDoclist}
styleProvider={DefaultStyleProvider}
addDocument={this.addHeaderDoc}
removeDocument={this.removeHeaderDoc}
@@ -623,7 +632,6 @@ export class MainView extends ObservableReactComponent<{}> {
renderDepth={0}
focus={emptyFunction}
whenChildContentsActiveChanged={emptyFunction}
- bringToFront={emptyFunction}
childFilters={returnEmptyFilter}
childFiltersByRanges={returnEmptyFilter}
searchFilterDocs={returnEmptyDoclist}
@@ -632,16 +640,18 @@ export class MainView extends ObservableReactComponent<{}> {
);
}
@computed get mainDocView() {
+ const headerBar = this._hideUI || !this.headerBarDocHeight?.() ? null : this.headerBarDocView;
+ console.log('Header = ' + this._hideUI + ' ' + this.headerBarDocHeight?.() + ' ' + headerBar);
return (
<>
- {this._hideUI || !this.headerBarDocHeight?.() ? null : this.headerBarDocView}
+ {headerBar}
<DocumentView
key="main"
Document={this.mainContainer!}
addDocument={undefined}
addDocTab={DocumentViewInternal.addDocTabFunc}
pinToPres={emptyFunction}
- docViewPath={returnEmptyDoclist}
+ containerViewPath={returnEmptyDoclist}
styleProvider={this._hideUI ? DefaultStyleProvider : undefined}
isContentActive={returnTrue}
removeDocument={undefined}
@@ -650,7 +660,6 @@ export class MainView extends ObservableReactComponent<{}> {
PanelHeight={this.mainDocViewHeight}
focus={emptyFunction}
whenChildContentsActiveChanged={emptyFunction}
- bringToFront={emptyFunction}
childFilters={returnEmptyFilter}
childFiltersByRanges={returnEmptyFilter}
searchFilterDocs={returnEmptyDoclist}
@@ -735,7 +744,7 @@ export class MainView extends ObservableReactComponent<{}> {
addDocument={undefined}
addDocTab={DocumentViewInternal.addDocTabFunc}
pinToPres={TabDocView.PinDoc}
- docViewPath={returnEmptyDoclist}
+ containerViewPath={returnEmptyDoclist}
styleProvider={this._sidebarContent.proto === Doc.MyDashboards || this._sidebarContent.proto === Doc.MyFilesystem || this._sidebarContent.proto === Doc.MyTrails ? DashboardStyleProvider : DefaultStyleProvider}
removeDocument={returnFalse}
ScreenToLocalTransform={this.mainContainerXf}
@@ -745,7 +754,6 @@ export class MainView extends ObservableReactComponent<{}> {
isContentActive={returnTrue}
focus={emptyFunction}
whenChildContentsActiveChanged={emptyFunction}
- bringToFront={emptyFunction}
childFilters={returnEmptyFilter}
childFiltersByRanges={returnEmptyFilter}
searchFilterDocs={returnEmptyDoclist}
@@ -769,12 +777,11 @@ export class MainView extends ObservableReactComponent<{}> {
PanelWidth={this.leftMenuWidth}
PanelHeight={this.leftMenuHeight}
renderDepth={0}
- docViewPath={returnEmptyDoclist}
+ containerViewPath={returnEmptyDoclist}
focus={emptyFunction}
styleProvider={DefaultStyleProvider}
isContentActive={returnTrue}
whenChildContentsActiveChanged={emptyFunction}
- bringToFront={emptyFunction}
childFilters={returnEmptyFilter}
childFiltersByRanges={returnEmptyFilter}
searchFilterDocs={returnEmptyDoclist}
@@ -785,7 +792,7 @@ export class MainView extends ObservableReactComponent<{}> {
@action
selectMenu = (button: Doc) => {
- const title = StrCast(Doc.GetProto(button).title);
+ const title = StrCast(button[DocData].title);
const willOpen = !this._leftMenuFlyoutWidth || this._panelContent !== title;
this.closeFlyout();
if (willOpen) {
@@ -898,16 +905,14 @@ export class MainView extends ObservableReactComponent<{}> {
<div className="mainView-docButtons" style={{ background: SettingsManager.userBackgroundColor, color: SettingsManager.userColor }} ref={this._docBtnRef}>
<CollectionLinearView
Document={Doc.MyDockedBtns}
+ docViewPath={returnEmptyDocViewList}
fieldKey="data"
dropAction="embed"
- setHeight={returnFalse}
styleProvider={DefaultStyleProvider}
- bringToFront={emptyFunction}
select={emptyFunction}
isAnyChildContentActive={returnFalse}
isContentActive={emptyFunction}
isSelected={returnFalse}
- docViewPath={returnEmptyDoclist}
moveDocument={this.moveButtonDoc}
addDocument={this.addButtonDoc}
addDocTab={DocumentViewInternal.addDocTabFunc}
@@ -969,41 +974,6 @@ export class MainView extends ObservableReactComponent<{}> {
);
}
- @observable mapBoxHackBool = false;
- @computed get mapBoxHack() {
- return this.mapBoxHackBool ? null : (
- <MapBox
- ref={action((r: any) => r && (this.mapBoxHackBool = true))}
- fieldKey="data"
- select={returnFalse}
- isSelected={returnFalse}
- Document={this.headerBarDoc}
- addDocTab={returnFalse}
- pinToPres={emptyFunction}
- docViewPath={returnEmptyDoclist}
- styleProvider={DefaultStyleProvider}
- addDocument={returnFalse}
- removeDocument={returnFalse}
- fitContentsToBox={returnTrue}
- isDocumentActive={returnTrue} // headerBar is always documentActive (ie, the docView gets pointer events)
- isContentActive={returnTrue} // headerBar is awlays contentActive which means its items are always documentActive
- ScreenToLocalTransform={Transform.Identity}
- childHideResizeHandles={true}
- childDragAction="move"
- dontRegisterView={true}
- PanelWidth={this.headerBarDocWidth}
- PanelHeight={this.headerBarDocHeight}
- renderDepth={0}
- focus={emptyFunction}
- whenChildContentsActiveChanged={emptyFunction}
- bringToFront={emptyFunction}
- childFilters={returnEmptyFilter}
- childFiltersByRanges={returnEmptyFilter}
- searchFilterDocs={returnEmptyDoclist}
- />
- );
- }
-
render() {
return (
<div
@@ -1036,7 +1006,7 @@ export class MainView extends ObservableReactComponent<{}> {
<DocumentDecorations boundsLeft={this.leftScreenOffsetOfMainDocView} boundsTop={this.topOfSidebarDoc} PanelWidth={this._windowWidth} PanelHeight={this._windowHeight} />
<ComponentDecorations boundsLeft={this.leftScreenOffsetOfMainDocView} boundsTop={this.topOfMainDocContent} />
{this._hideUI ? null : <TopBar />}
- {LinkDescriptionPopup.descriptionPopup ? <LinkDescriptionPopup /> : null}
+ <LinkDescriptionPopup />
{DocButtonState.Instance.LinkEditorDocView ? <LinkMenu clearLinkEditor={action(() => (DocButtonState.Instance.LinkEditorDocView = undefined))} docView={DocButtonState.Instance.LinkEditorDocView} /> : null}
{LinkInfo.Instance?.LinkInfo ? <LinkDocPreview {...LinkInfo.Instance.LinkInfo} /> : null}
@@ -1046,7 +1016,7 @@ export class MainView extends ObservableReactComponent<{}> {
default:
case 'dashboard': return (<>
<div key="dashdiv" style={{ position: 'relative', display: this._hideUI || LightboxView.LightboxDoc ? 'none' : undefined, zIndex: 2001 }}>
- <CollectionMenu panelWidth={this.topMenuWidth} panelHeight={this.topMenuHeight} />
+ <CollectionMenu panelWidth={this.topMenuWidth} panelHeight={this.topMenuHeight} toggleTopBar={this.toggleTopBar} topBarHeight={this.headerBarHeightFunc}/>
</div>
{this.mainDashboardArea}
</> );
@@ -1057,7 +1027,6 @@ export class MainView extends ObservableReactComponent<{}> {
<PreviewCursor />
<TaskCompletionBox />
<ContextMenu />
- <RadialMenu />
<AnchorMenu />
<MapAnchorMenu />
<DirectionsAnchorMenu />
@@ -1070,7 +1039,6 @@ export class MainView extends ObservableReactComponent<{}> {
<LightboxView key="lightbox" PanelWidth={this._windowWidth} PanelHeight={this._windowHeight} maxBorder={[200, 50]} />
<CollectionFreeFormLinksView />
<OverlayView />
- {/* {this.mapBoxHack} */}
<GPTPopup key="gptpopup" />
<SchemaCSVPopUp key="schemacsvpopup" />
<GenerativeFill imageEditorOpen={ImageBox.imageEditorOpen} imageEditorSource={ImageBox.imageEditorSource} imageRootDoc={ImageBox.imageRootDoc} addDoc={ImageBox.addDoc} />