1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-29 01:30:16 +02:00

new file template n add file support

This commit is contained in:
Kushagra Gour
2018-10-04 01:18:54 +05:30
parent e0ae68ac2c
commit 799ae55abd
5 changed files with 192 additions and 72 deletions

View File

@@ -264,7 +264,7 @@ export default class App extends Component {
alertsService.add(`"${sourceItem.title}" was forked`);
trackEvent('fn', 'itemForked');
}
createNewItem(isProject = true) {
createNewItem(isFileMode = false) {
const d = new Date();
let item = {
title:
@@ -275,15 +275,17 @@ export default class App extends Component {
'-' +
d.getHours() +
':' +
d.getMinutes()
d.getMinutes(),
createdOn: +d,
content: ''
};
if (isProject) {
if (isFileMode) {
item = {
...item,
files: [
{ name: 'index.html' },
{ name: 'style.css' },
{ name: 'script.js' }
{ name: 'index.html', content: '' },
{ name: 'style.css', content: '' },
{ name: 'script.js', content: '' }
]
};
} else {
@@ -1165,6 +1167,10 @@ export default class App extends Component {
this.createNewItem();
this.setState({ isCreateNewModalOpen: false });
}
blankFileTemplateSelectHandler() {
this.createNewItem(true);
this.setState({ isCreateNewModalOpen: false });
}
templateSelectHandler(template) {
fetch(`templates/template-${template.id}.json`)
@@ -1174,6 +1180,17 @@ export default class App extends Component {
});
this.setState({ isCreateNewModalOpen: false });
}
addFileHandler(fileName) {
this.setState({
currentItem: {
...this.state.currentItem,
files: [
...this.state.currentItem.files,
{ name: fileName, content: '' }
]
}
});
}
render() {
return (
@@ -1204,6 +1221,7 @@ export default class App extends Component {
prefs={this.state.prefs}
onEditorFocus={this.editorFocusHandler.bind(this)}
onSplitUpdate={this.splitUpdateHandler.bind(this)}
onAddFile={this.addFileHandler.bind(this)}
/>
<Footer
@@ -1361,6 +1379,9 @@ export default class App extends Component {
show={this.state.isCreateNewModalOpen}
closeHandler={() => this.setState({ isCreateNewModalOpen: false })}
onBlankTemplateSelect={this.blankTemplateSelectHandler.bind(this)}
onBlankFileTemplateSelect={this.blankFileTemplateSelectHandler.bind(
this
)}
onTemplateSelect={this.templateSelectHandler.bind(this)}
/>