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) {