@ -4,7 +4,8 @@ const React = require("react");
const createReactClass = require ( "create-react-class" ) ;
const classnames = require ( "classnames" ) ;
const renderIf = require ( "../util/render-if" ) ;
const renderIf = require ( "../../util/render-if" ) ;
const windowTitleContext = require ( "./window-title-context" ) ;
function cancelEvent ( event ) {
/* NOTE: This is used on mousedown events for controls like the CloseButton, to ensure that a click-and-drag on a titlebar control cannot start a window drag operation. */
@ -78,17 +79,21 @@ function Resizer({onMouseDown}) {
}
module . exports = function Window ( { elementRef , style , window : window _ , onMouseDown , onTitleMouseDown , onClose , onResizerMouseDown } ) {
let [ windowTitle , setWindowTitle ] = React . useState ( "" ) ;
return (
< div ref = { elementRef } className = { classnames ( "window" , { active : window _ . isActive } ) } style = { style } onMouseDown = { onMouseDown } >
< TitleBar title = "Window Title Goes Here" onMouseDown = { onTitleMouseDown } onClose = { onClose } / >
< TitleBar title = { windowTitle } onMouseDown = { onTitleMouseDown } onClose = { onClose } / >
< div className = "body" >
< div className = "contents" >
{ window _ . contents }
< / div >
< windowTitleContext.Provider value = { setWindowTitle } >
< div className = "body" >
< div className = "contents" >
{ window _ . contents }
< / div >
{ renderIf ( window _ . resizable , < Resizer onMouseDown = { onResizerMouseDown } / > ) }
< / div >
{ renderIf ( window _ . resizable , < Resizer onMouseDown = { onResizerMouseDown } / > ) }
< / div >
< / windowTitleContext.Provider >
< / div >
) ;
} ;