From dfae3bd967aef4198d29e2e82eacb580805f3efc Mon Sep 17 00:00:00 2001 From: xibyte Date: Wed, 17 Jan 2018 01:37:22 -0800 Subject: [PATCH] action info popup --- modules/ui/components/AuxWidget.jsx | 2 +- web/app/cad/dom/components/ActionInfo.jsx | 12 ++++++ web/app/cad/dom/components/MessageSink.jsx | 11 ++++++ web/app/cad/dom/components/MessageSink.less | 0 web/app/cad/dom/components/UISystem.jsx | 42 +++++++++++++++++++++ web/app/cad/dom/components/View3d.jsx | 35 +++-------------- 6 files changed, 71 insertions(+), 31 deletions(-) create mode 100644 web/app/cad/dom/components/ActionInfo.jsx create mode 100644 web/app/cad/dom/components/MessageSink.jsx create mode 100644 web/app/cad/dom/components/MessageSink.less create mode 100644 web/app/cad/dom/components/UISystem.jsx diff --git a/modules/ui/components/AuxWidget.jsx b/modules/ui/components/AuxWidget.jsx index 3a37dc58..9c203fb7 100644 --- a/modules/ui/components/AuxWidget.jsx +++ b/modules/ui/components/AuxWidget.jsx @@ -5,7 +5,7 @@ import ls from './AuxWidget.less'; import AdjustableAbs from "./AdjustableAbs"; export default function AuxWidget({flatTop, flatBottom, children, className, ...props}) { - return + return {children} } \ No newline at end of file diff --git a/web/app/cad/dom/components/ActionInfo.jsx b/web/app/cad/dom/components/ActionInfo.jsx new file mode 100644 index 00000000..0095af65 --- /dev/null +++ b/web/app/cad/dom/components/ActionInfo.jsx @@ -0,0 +1,12 @@ +import React from 'react'; + + + +export default function ActionInfo({children}) { + + return + {children} + ; +} + + diff --git a/web/app/cad/dom/components/MessageSink.jsx b/web/app/cad/dom/components/MessageSink.jsx new file mode 100644 index 00000000..324cdd0e --- /dev/null +++ b/web/app/cad/dom/components/MessageSink.jsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import AuxWidget from './../../../../../modules/ui/components/AuxWidget'; + +export default function MessageSink({children, ...props}) { + + return + {children} + ; +} + diff --git a/web/app/cad/dom/components/MessageSink.less b/web/app/cad/dom/components/MessageSink.less new file mode 100644 index 00000000..e69de29b diff --git a/web/app/cad/dom/components/UISystem.jsx b/web/app/cad/dom/components/UISystem.jsx new file mode 100644 index 00000000..92fa95cf --- /dev/null +++ b/web/app/cad/dom/components/UISystem.jsx @@ -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
+ + + + {this.props.children} +
+ } + + 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 + }; +} \ No newline at end of file diff --git a/web/app/cad/dom/components/View3d.jsx b/web/app/cad/dom/components/View3d.jsx index 991c2ceb..a8348946 100644 --- a/web/app/cad/dom/components/View3d.jsx +++ b/web/app/cad/dom/components/View3d.jsx @@ -23,21 +23,19 @@ import NumberControl from "ui/components/controls/NumberControl"; import ButtonGroup from "ui/components/controls/ButtonGroup"; import Button from "ui/components/controls/Button"; import TextControl from './../../../../../modules/ui/components/controls/TextControl'; +import MessageSink from './MessageSink'; +import UISystem from './UISystem'; export default class View3d extends React.PureComponent { render() { - return
- + return
- {/*
-
@@ -46,7 +44,7 @@ export default class View3d extends React.PureComponent { - + @@ -64,30 +62,7 @@ export default class View3d extends React.PureComponent { -
-
+ } - - 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 - }; } \ No newline at end of file