diff --git a/lib/client/edit.js b/lib/client/edit.js index b3ba5696..05826518 100644 --- a/lib/client/edit.js +++ b/lib/client/edit.js @@ -16,10 +16,11 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO, Format, edward; Menu, Images = DOM.Images, + MSG_CHANGED, Element, ConfigView = { beforeClose: function() { - edward.isChanged(); + isChanged(); exec.ifExist(Menu, 'hide'); }, afterShow: function() { @@ -67,6 +68,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO, Format, edward; path = Info.path; Images.show.load(); + setMsgChanged(name); if (callback) ConfigView.beforeShow = callback; @@ -222,6 +224,23 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO, Format, edward; } } + function setMsgChanged(name) { + var msg = 'Do you want to save changes to' + name + '?'; + + MSG_CHANGED = msg; + } + + function isChanged() { + var is = edward.isChanged(); + + if (is) { + is = confirm(MSG_CHANGED); + + if (is) + edward.save(); + } + } + init(callback); } diff --git a/lib/client/edward.js b/lib/client/edward.js index c709538b..ca68865d 100644 --- a/lib/client/edward.js +++ b/lib/client/edward.js @@ -56,7 +56,7 @@ var join, ace, load, Util, DOM, io, daffy, restafary; ace.require('ace/ext/language_tools'); Modelist = ace.require('ace/ext/modelist'); - load.json('/json/edit.json', function(error, config) { + load.json(PREFIX + '/json/edit.json', function(error, config) { var options = config.options; Config = config; @@ -127,17 +127,10 @@ var join, ace, load, Util, DOM, io, daffy, restafary; }; edward.isChanged = function() { - var is, - value = edward.getValue(), - isEqual = value === Value, - msg = 'Do you want to save changes to ' + name + '?'; + var value = edward.getValue(), + isEqual = value === Value; - if (!isEqual) { - is = confirm(msg); - - if (is) - edward.save(); - } + return !isEqual; }; edward.setValue = function(value) {