fix(edit) twice load edit.json

This commit is contained in:
coderaiser 2014-09-26 02:54:26 -04:00
parent cbc4bf0dc3
commit 5dc0cac20a

View file

@ -13,6 +13,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
join = CloudCmd.join,
PromiseConfig,
Menu,
Value,
Edit = this,
@ -25,7 +26,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
RESTful = DOM.RESTful,
Dialog = DOM.Dialog,
Images = DOM.Images,
Element, JSHintConfig, EditConfig,
Element, JSHintConfig,
ConfigView = {
beforeClose: function() {
isChanged();
@ -146,7 +147,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
}
function setEmmet(isHTML) {
getEditConfig(function(config) {
getEditConfig(function(error, config) {
var extensions = config.extensions,
isEmmet = extensions.emmet;
@ -222,7 +223,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
ace.require('ace/ext/language_tools');
Modelist = ace.require('ace/ext/modelist');
getEditConfig(function(config) {
getEditConfig(function(error, config) {
var options = config.options;
Ace.setOptions(options);
@ -357,21 +358,24 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
}
function getEditConfig(callback) {
var prefix = CloudCmd.PREFIX,
Util.checkArgs(arguments, ['callback']);
CONFIG_PATH = prefix + '/json/edit.json',
func = Util.exec.ret(callback);
Util.exec.if(EditConfig, function() {
func(EditConfig);
}, function() {
DOM.load.ajax({
url : CONFIG_PATH,
success : function(data) {
EditConfig = data;
func(EditConfig);
}
if (!PromiseConfig)
PromiseConfig = new Promise(function(resolve, reject) {
var prefix = CloudCmd.PREFIX,
url = '/json/edit.json';
DOM.load.ajax({
url : prefix + url,
success : resolve,
error : reject
});
});
PromiseConfig.then(function(data) {
callback(null, data);
}, function(error) {
callback(error);
});
}