action info popup

This commit is contained in:
xibyte 2018-01-17 01:37:22 -08:00
parent 4214715fd6
commit dfae3bd967
6 changed files with 71 additions and 31 deletions

View file

@ -0,0 +1,12 @@
import React from 'react';
export default function ActionInfo({children}) {
return <AuxWidget>
{children}
</AuxWidget>;
}

View file

@ -0,0 +1,11 @@
import React from 'react';
import AuxWidget from './../../../../../modules/ui/components/AuxWidget';
export default function MessageSink({children, ...props}) {
return <AuxWidget {...props}>
{children}
</AuxWidget>;
}

View file

@ -0,0 +1,42 @@
import React from 'react';
import PropTypes from 'prop-types';
import MenuHolder from "../menu/MenuHolder";
import {TOKENS as MENU_TOKENS} from '../menu/menuPlugin';
import WindowSystem from 'ui/WindowSystem';
import MessageSink from './MessageSink';
export default class UISystem extends React.Component {
render() {
return <div {...this.props} onMouseDown={this.closeAllUpPopups}>
<MenuHolder />
<MessageSink />
<WindowSystem />
{this.props.children}
</div>
}
closeAllUpPopups = () => {
let openedMenus = this.context.bus.state[MENU_TOKENS.OPENED];
if (openedMenus && openedMenus.length !== 0) {
this.context.bus.dispatch(MENU_TOKENS.CLOSE_ALL);
}
};
getChildContext() {
return {
closeAllUpPopups: this.closeAllUpPopups
}
}
static contextTypes = {
bus: PropTypes.object
};
static childContextTypes = {
closeAllUpPopups: PropTypes.func
};
}

View file

@ -23,21 +23,19 @@ import NumberControl from "ui/components/controls/NumberControl";
import ButtonGroup from "ui/components/controls/ButtonGroup"; import ButtonGroup from "ui/components/controls/ButtonGroup";
import Button from "ui/components/controls/Button"; import Button from "ui/components/controls/Button";
import TextControl from './../../../../../modules/ui/components/controls/TextControl'; import TextControl from './../../../../../modules/ui/components/controls/TextControl';
import MessageSink from './MessageSink';
import UISystem from './UISystem';
export default class View3d extends React.PureComponent { export default class View3d extends React.PureComponent {
render() { render() {
return <div className={ls.root} onMouseDown={this.closeAllUpPopups}> return <UISystem className={ls.root} >
<MenuHolder />
<div className={ls.sideBar}> <div className={ls.sideBar}>
<ObjectExplorer/> <ObjectExplorer/>
<OperationHistory/> <OperationHistory/>
</div> </div>
<div className={ls.viewer} id='viewer-container'> <div className={ls.viewer} id='viewer-container'>
{/*<div className={ls.viewer} */}
<div>
</div>
<Abs left='0.8em' top='0.8em' className={ls.leftToolbarGroup}> <Abs left='0.8em' top='0.8em' className={ls.leftToolbarGroup}>
<PlugableToolbarLeft /> <PlugableToolbarLeft />
<PlugableToolbarLeftSecondary /> <PlugableToolbarLeftSecondary />
@ -64,30 +62,7 @@ export default class View3d extends React.PureComponent {
</ButtonGroup> </ButtonGroup>
</Stack> </Stack>
</Window> </Window>
</div> </div>
</div> </UISystem>
}
closeAllUpPopups = () => {
let openedMenus = this.context.bus.state[MENU_TOKENS.OPENED];
if (openedMenus && openedMenus.length !== 0) {
this.context.bus.dispatch(MENU_TOKENS.CLOSE_ALL);
}
};
getChildContext() {
return {
closeAllUpPopups: this.closeAllUpPopups
} }
} }
static contextTypes = {
bus: PropTypes.object
};
static childContextTypes = {
closeAllUpPopups: PropTypes.func
};
}