diff options
Diffstat (limited to 'src/client/views/MainView.tsx')
| -rw-r--r-- | src/client/views/MainView.tsx | 38 | 
1 files changed, 20 insertions, 18 deletions
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx index 6a743a5e6..dde04dcc0 100644 --- a/src/client/views/MainView.tsx +++ b/src/client/views/MainView.tsx @@ -9,7 +9,6 @@ import { observer } from 'mobx-react';  import 'normalize.css';  import * as React from 'react';  import { Doc, DocListCast, Opt } from '../../fields/Doc'; -import { ScriptField } from '../../fields/ScriptField';  import { DocCast, StrCast } from '../../fields/Types';  import { emptyFunction, returnEmptyDoclist, returnEmptyFilter, returnFalse, returnTrue, returnZero, setupMoveUpEvents, Utils } from '../../Utils';  import { GoogleAuthenticationManager } from '../apis/GoogleAuthenticationManager'; @@ -77,7 +76,6 @@ export class MainView extends React.Component {      public static Live: boolean = false;      private _docBtnRef = React.createRef<HTMLDivElement>(); -    @observable public LastButton: Opt<Doc>;      @observable private _windowWidth: number = 0;      @observable private _windowHeight: number = 0;      @observable private _dashUIWidth: number = 0; // width of entire main dashboard region including left menu buttons and properties panel (but not including the dashboard selector button row) @@ -529,7 +527,6 @@ export class MainView extends React.Component {          window.addEventListener('beforeunload', DocServer.UPDATE_SERVER_CACHE);          window.addEventListener('drop', e => e.preventDefault(), false); // prevent default behavior of navigating to a new web page          window.addEventListener('dragover', e => e.preventDefault(), false); -        // document.addEventListener("pointermove", action(e => SearchBox.Instance._undoBackground = UndoManager.batchCounter ? "#000000a8" : undefined));          document.addEventListener('pointerdown', this.globalPointerDown, true);          document.addEventListener('pointermove', this.globalPointerMove, true);          document.addEventListener('pointerup', this.globalPointerClick, true); @@ -572,11 +569,7 @@ export class MainView extends React.Component {          Doc.AddDocToList(Doc.MyFilesystem, 'data', folder);      }; -    @observable _exploreMode = false; -    @computed get exploreMode() { -        return () => (this._exploreMode ? ScriptField.MakeScript('CollectionBrowseClick(documentView, clientX, clientY)', { documentView: 'any', clientX: 'number', clientY: 'number' })! : undefined); -    } -    waitForDoubleClick = () => (this._exploreMode ? 'never' : undefined); +    waitForDoubleClick = () => (DocumentView.ExploreMode ? 'never' : undefined);      headerBarScreenXf = () => new Transform(-this.leftScreenOffsetOfMainDocView - this.leftMenuFlyoutWidth(), -this.headerBarDocHeight(), 1);      mainScreenToLocalXf = () => new Transform(-this.leftScreenOffsetOfMainDocView - this.leftMenuFlyoutWidth(), -this.topOfMainDocContent, 1);      addHeaderDoc = (doc: Doc | Doc[], annotationKey?: string) => (doc instanceof Doc ? [doc] : doc).reduce((done, doc) => Doc.AddDocToList(this.headerBarDoc, 'data', doc), true); @@ -747,7 +740,7 @@ export class MainView extends React.Component {      @computed get leftMenuPanel() {          return ( -            <div key="menu" className="mainView-leftMenuPanel" style={{ background: StrCast(Doc.UserDoc().userBackgroundColor), display: LightboxView.LightboxDoc ? 'none' : undefined }}> +            <div key="menu" className="mainView-leftMenuPanel" style={{ background: SettingsManager.userBackgroundColor, display: LightboxView.LightboxDoc ? 'none' : undefined }}>                  <DocumentView                      Document={Doc.MyLeftSidebarMenu}                      DataDoc={undefined} @@ -804,16 +797,16 @@ export class MainView extends React.Component {                      {this.flyout}                      <div                          className="mainView-libraryHandle" -                        style={{ background: StrCast(Doc.UserDoc().userBackgroundColor), left: leftMenuFlyoutWidth - 10 /* ~half width of handle */, display: !this._leftMenuFlyoutWidth ? 'none' : undefined }} +                        style={{ background: SettingsManager.userBackgroundColor, left: leftMenuFlyoutWidth - 10 /* ~half width of handle */, display: !this._leftMenuFlyoutWidth ? 'none' : undefined }}                          onPointerDown={this.onFlyoutPointerDown}> -                        <FontAwesomeIcon icon="chevron-left" color={StrCast(Doc.UserDoc().userColor)} style={{ opacity: '50%' }} size="sm" /> +                        <FontAwesomeIcon icon="chevron-left" color={SettingsManager.userColor} style={{ opacity: '50%' }} size="sm" />                      </div>                      <div className="mainView-innerContainer" style={{ width: `calc(100% - ${width}px)` }}>                          {this.dockingContent}                          {this._hideUI ? null : ( -                            <div className="mainView-propertiesDragger" key="props" onPointerDown={this.onPropertiesPointerDown} style={{ background: StrCast(Doc.UserDoc().userBackgroundColor), right: this.propertiesWidth() - 1 }}> -                                <FontAwesomeIcon icon={this.propertiesWidth() < 10 ? 'chevron-left' : 'chevron-right'} color={StrCast(Doc.UserDoc().userColor)} size="sm" /> +                            <div className="mainView-propertiesDragger" key="props" onPointerDown={this.onPropertiesPointerDown} style={{ background: SettingsManager.userBackgroundColor, right: this.propertiesWidth() - 1 }}> +                                <FontAwesomeIcon icon={this.propertiesWidth() < 10 ? 'chevron-left' : 'chevron-right'} color={SettingsManager.userColor} size="sm" />                              </div>                          )}                          <div className="properties-container" style={{ width: this.propertiesWidth() }}> @@ -857,11 +850,11 @@ export class MainView extends React.Component {          //setTimeout(action(() => (this._leftMenuFlyoutWidth += 0.5)));          this._sidebarContent.proto = DocCast(button.target); -        this.LastButton = button; +        DocumentView.LastPressedSidebarBtn = button;      });      closeFlyout = action(() => { -        this.LastButton = undefined; +        DocumentView.LastPressedSidebarBtn = undefined;          this._panelContent = 'none';          this._sidebarContent.proto = undefined;          this._leftMenuFlyoutWidth = 0; @@ -879,7 +872,7 @@ export class MainView extends React.Component {      @computed get docButtons() {          return !Doc.MyDockedBtns ? null : ( -            <div className="mainView-docButtons" style={{ background: StrCast(Doc.UserDoc().userBackgroundColor), color: StrCast(Doc.UserDoc().userColor) }} ref={this._docBtnRef}> +            <div className="mainView-docButtons" style={{ background: SettingsManager.userBackgroundColor, color: SettingsManager.userColor }} ref={this._docBtnRef}>                  <CollectionLinearView                      Document={Doc.MyDockedBtns}                      DataDoc={undefined} @@ -998,8 +991,8 @@ export class MainView extends React.Component {              <div                  className={`mainView-container ${this.colorScheme}`}                  style={{ -                    color: StrCast(Doc.UserDoc().userColor), -                    background: StrCast(Doc.UserDoc().userBackgroundColor), +                    color: SettingsManager.userColor, +                    background: SettingsManager.userBackgroundColor,                  }}                  onScroll={() => (ele => (ele.scrollTop = ele.scrollLeft = 0))(document.getElementById('root')!)}                  ref={r => { @@ -1068,3 +1061,12 @@ export class MainView extends React.Component {  ScriptingGlobals.add(function selectMainMenu(doc: Doc, title: string) {      MainView.Instance.selectMenu(doc);  }); +ScriptingGlobals.add(function createNewPresentation() { +    return MainView.Instance.createNewPresentation(); +}, 'creates a new presentation when called'); +ScriptingGlobals.add(function openPresentation(pres: Doc) { +    return MainView.Instance.openPresentation(pres); +}, 'creates a new presentation when called'); +ScriptingGlobals.add(function createNewFolder() { +    return MainView.Instance.createNewFolder(); +}, 'creates a new folder in myFiles when called');  | 
