Commit 76c46ac1 authored by yann300's avatar yann300 Committed by GitHub

Merge pull request #428 from ethereum/file-errors

Show alerts on file errors
parents 44091ec2 7bf15f39
...@@ -220,8 +220,11 @@ var run = function () { ...@@ -220,8 +220,11 @@ var run = function () {
$('.newFile').on('click', function () { $('.newFile').on('click', function () {
var newName = createNonClashingName('Untitled') var newName = createNonClashingName('Untitled')
files.set(newName, '') if (!files.set(newName, '')) {
switchToFile(newName) alert('Failed to create file ' + newName)
} else {
switchToFile(newName)
}
}) })
// ----------------- file upload ------------- // ----------------- file upload -------------
...@@ -233,8 +236,11 @@ var run = function () { ...@@ -233,8 +236,11 @@ var run = function () {
if (!files.exists(name) || confirm('The file ' + name + ' already exists! Would you like to overwrite it?')) { if (!files.exists(name) || confirm('The file ' + name + ' already exists! Would you like to overwrite it?')) {
var fileReader = new FileReader() var fileReader = new FileReader()
fileReader.onload = function (ev) { fileReader.onload = function (ev) {
files.set(name, ev.target.result) if (!files.set(name, ev.target.result)) {
switchToFile(name) alert('Failed to create file ' + name)
} else {
switchToFile(name)
}
} }
fileReader.readAsText(fileList[i]) fileReader.readAsText(fileList[i])
} }
...@@ -272,9 +278,13 @@ var run = function () { ...@@ -272,9 +278,13 @@ var run = function () {
files.exists(newName) files.exists(newName)
? 'Are you sure you want to overwrite: ' + newName + ' with ' + originalName + '?' ? 'Are you sure you want to overwrite: ' + newName + ' with ' + originalName + '?'
: 'Are you sure you want to rename: ' + originalName + ' to ' + newName + '?')) { : 'Are you sure you want to rename: ' + originalName + ' to ' + newName + '?')) {
files.rename(originalName, newName) if (!files.rename(originalName, newName)) {
switchToFile(newName) alert('Error while renaming file')
editor.discard(originalName) } else {
currentFile = null
switchToFile(newName)
editor.discard(originalName)
}
} }
return false return false
...@@ -289,9 +299,13 @@ var run = function () { ...@@ -289,9 +299,13 @@ var run = function () {
var name = $(this).parent().find('.name').text() var name = $(this).parent().find('.name').text()
if (confirm('Are you sure you want to remove: ' + name + ' from local storage?')) { if (confirm('Are you sure you want to remove: ' + name + ' from local storage?')) {
files.remove(name) if (!files.remove(name)) {
switchToNextFile() alert('Error while removing file')
editor.discard(name) } else {
currentFile = null
switchToNextFile()
editor.discard(name)
}
} }
return false return false
}) })
...@@ -654,16 +668,18 @@ var run = function () { ...@@ -654,16 +668,18 @@ var run = function () {
function runCompiler () { function runCompiler () {
var files = {} var files = {}
var target = currentFile if (currentFile) {
var target = currentFile
files[target] = editor.get(currentFile) files[target] = editor.get(currentFile)
compiler.compile(files, target)
compiler.compile(files, target) }
} }
function editorSyncFile () { function editorSyncFile () {
var input = editor.get(currentFile) if (currentFile) {
files.set(currentFile, input) var input = editor.get(currentFile)
files.set(currentFile, input)
}
} }
var previousInput = '' var previousInput = ''
...@@ -671,6 +687,9 @@ var run = function () { ...@@ -671,6 +687,9 @@ var run = function () {
var saveTimeout = null var saveTimeout = null
function editorOnChange () { function editorOnChange () {
if (!currentFile) {
return
}
var input = editor.get(currentFile) var input = editor.get(currentFile)
// if there's no change, don't do anything // if there's no change, don't do anything
......
...@@ -58,7 +58,7 @@ function Files (storage) { ...@@ -58,7 +58,7 @@ function Files (storage) {
} }
this.isReadOnly = function (path) { this.isReadOnly = function (path) {
return !!readonly[path] return readonly[path] !== undefined
} }
this.remove = function (path) { this.remove = function (path) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function Storage () { function Storage () {
this.exists = function (name) { this.exists = function (name) {
return !!this.get(name) return this.get(name) !== null
} }
this.get = function (name) { this.get = function (name) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment