diff --git a/src/app.js b/src/app.js index 9774ad5971..65b678983a 100644 --- a/src/app.js +++ b/src/app.js @@ -209,7 +209,7 @@ var run = function () { var fileList = $('input.inputFile')[0].files for (var i = 0; i < fileList.length; i++) { var name = fileList[i].name - if (!storage.exists(utils.fileKey(name)) || confirm('The file ' + name + ' already exists! Would you like to overwrite it?')) { + if (!editor.hasFile(name) || confirm('The file ' + name + ' already exists! Would you like to overwrite it?')) { editor.uploadFile(fileList[i], updateFiles) } } @@ -241,7 +241,7 @@ var run = function () { $fileNameInputEl.off('keyup') if (newName !== originalName && confirm( - storage.exists(utils.fileKey(newName)) + editor.hasFile(newName) ? 'Are you sure you want to overwrite: ' + newName + ' with ' + originalName + '?' : 'Are you sure you want to rename: ' + originalName + ' to ' + newName + '?')) { storage.rename(utils.fileKey(originalName), utils.fileKey(newName)) @@ -280,11 +280,6 @@ var run = function () { return false } - function activeFileTab () { - var name = utils.fileNameFromKey(editor.getCacheFile()) - return $('#files .file').filter(function () { return $(this).find('.name').text() === name }) - } - function updateFiles () { var $filesEl = $('#files') var files = editor.getFiles() @@ -293,11 +288,13 @@ var run = function () { $('#output').empty() for (var f in files) { - $filesEl.append(fileTabTemplate(files[f])) + var name = utils.fileNameFromKey(files[f]) + $filesEl.append($('
  • ' + name + '
  • ')) } if (editor.cacheFileIsPresent()) { - var active = activeFileTab() + var currentFileName = utils.fileNameFromKey(editor.getCacheFile()) + var active = $('#files .file').filter(function () { return $(this).find('.name').text() === currentFileName }) active.addClass('active') editor.resetSession() } @@ -306,11 +303,6 @@ var run = function () { reAdjust() } - function fileTabTemplate (key) { - var name = utils.fileNameFromKey(key) - return $('
  • ' + name + '
  • ') - } - var $filesWrapper = $('.files-wrapper') var $scrollerRight = $('.scroller-right') var $scrollerLeft = $('.scroller-left') diff --git a/src/app/storage.js b/src/app/storage.js index e457087d2a..0bcc71c83a 100644 --- a/src/app/storage.js +++ b/src/app/storage.js @@ -1,37 +1,31 @@ 'use strict' -var utils = require('./utils') - function Storage () { - this.rename = function (originalName, newName) { - var content = this.get(originalName) - this.set(newName, content) - this.remove(originalName) + this.exists = function (name) { + return !!this.get(name) } - this.remove = function (name) { - window.localStorage.removeItem(name) - } - - this.getFileContent = function (key) { - return this.get(utils.fileKey(key)) + this.get = function (name) { + return window.localStorage.getItem(name) } - this.exists = function (key) { - return !!this.get(key) + this.set = function (name, content) { + window.localStorage.setItem(name, content) } - this.set = function (key, content) { - window.localStorage.setItem(key, content) + this.keys = function () { + // NOTE: this is a workaround for some browsers + return Object.keys(window.localStorage).filter(function (item) { return item !== null && item !== undefined }) } - this.get = function (key) { - return window.localStorage.getItem(key) + this.remove = function (name) { + window.localStorage.removeItem(name) } - this.keys = function () { - // NOTE: this is a workaround for some browsers - return Object.keys(window.localStorage).filter(function (item) { return item !== null && item !== undefined }) + this.rename = function (originalName, newName) { + var content = this.get(originalName) + this.set(newName, content) + this.remove(originalName) } this.loadFile = function (filename, content) {