Adapt StartPage button when a project is opened

This commit is contained in:
Florian Rival
2017-11-24 08:39:06 +01:00
parent 0da624dc18
commit abe7dd7ccd
2 changed files with 27 additions and 6 deletions

View File

@@ -66,6 +66,8 @@ export default class StartPage extends BaseEditor {
};
render() {
const { project, canOpen, onOpen, onCreate, onOpenProjectManager, onCloseProject } = this.props;
return (
<div style={styles.scrollContainer}>
<div style={styles.innerContainer}>
@@ -79,18 +81,28 @@ export default class StartPage extends BaseEditor {
</p>
</Paper>
<Paper zDepth={1} style={styles.buttonsPaper}>
{this.props.canOpen && (
{!project && canOpen && (
<FlatButton
label="Open a project"
fullWidth
onClick={this.props.onOpen}
onClick={onOpen}
/>
)}
<FlatButton
{!project && (<FlatButton
label="Create a new project"
fullWidth
onClick={this.props.onCreate}
/>
onClick={onCreate}
/>)}
{!!project && (<FlatButton
label="Open Project Manager"
fullWidth
onClick={onOpenProjectManager}
/>)}
{!!project && (<FlatButton
label="Close project"
fullWidth
onClick={onCloseProject}
/>)}
</Paper>
</div>
</Line>

View File

@@ -125,6 +125,12 @@ export default class MainFrame extends Component {
});
};
openProjectManager = (open = true) => {
this.setState({
projectManagerOpen: open,
});
}
setEditorToolbar = editorToolbar => {
if (!this.toolbar) return;
@@ -409,10 +415,13 @@ export default class MainFrame extends Component {
name: 'Start Page',
editorCreator: () => (
<StartPage
project={this.state.currentProject}
setToolbar={this.setEditorToolbar}
canOpen={!!this.props.onChooseProject}
onOpen={this.chooseProject}
onCreate={() => this.openCreateDialog()}
onOpenProjectManager={() => this.openProjectManager()}
onCloseProject={() => this.closeProject()}
/>
),
key: 'start page',
@@ -516,9 +525,9 @@ export default class MainFrame extends Component {
this.confirmCloseDialog.show(closeProject => {
if (!closeProject || !this.state.currentProject) return;
this.openProjectManager(false);
this.setState(
{
projectManagerOpen: false,
editorTabs: closeProjectTabs(
this.state.editorTabs,
this.state.currentProject