kopia lustrzana https://github.com/c9/core
allow configuring setting file names from url
rodzic
560d18d31d
commit
fd2334b14b
|
@ -56,6 +56,13 @@ define(function(require, exports, module) {
|
||||||
var diff = 0; // TODO should we allow this to be undefined and get NaN in timestamps?
|
var diff = 0; // TODO should we allow this to be undefined and get NaN in timestamps?
|
||||||
var userData;
|
var userData;
|
||||||
|
|
||||||
|
var skipCloud = {};
|
||||||
|
c9.location.replace(/[&?](state|project|user)=([\w]+)/g, function(_, type, val) {
|
||||||
|
if (!val) return;
|
||||||
|
PATH[type] = PATH[type].replace(/.settings$/, function() { return "." + val + ".settings"; });
|
||||||
|
skipCloud[type] = true;
|
||||||
|
});
|
||||||
|
|
||||||
var inited = false;
|
var inited = false;
|
||||||
function loadSettings(json) {
|
function loadSettings(json) {
|
||||||
if (!json) {
|
if (!json) {
|
||||||
|
@ -71,10 +78,6 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
for (var type in json) {
|
for (var type in json) {
|
||||||
if (typeof json[type] == "string") {
|
if (typeof json[type] == "string") {
|
||||||
if (json[type].charAt(0) == "<") {
|
|
||||||
json[type] = TEMPLATE[type];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
try {
|
try {
|
||||||
json[type] = JSON.parse(json[type]);
|
json[type] = JSON.parse(json[type]);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -83,29 +86,29 @@ define(function(require, exports, module) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!json) {
|
|
||||||
var info = {};
|
|
||||||
var count = KEYS.length;
|
var count = KEYS.length;
|
||||||
|
|
||||||
KEYS.forEach(function(type) {
|
KEYS.forEach(function(type) {
|
||||||
|
if (!skipCloud[type] && json)
|
||||||
|
return --count;
|
||||||
fs.readFile(PATH[type], function(err, data) {
|
fs.readFile(PATH[type], function(err, data) {
|
||||||
|
if (!json) json = {};
|
||||||
try {
|
try {
|
||||||
info[type] = err ? {} : JSON.parse(data);
|
json[type] = err ? {} : JSON.parse(data);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Invalid Settings Read for ",
|
console.error("Invalid Settings Read for ",
|
||||||
type, ": ", data);
|
type, ": ", data);
|
||||||
info[type] = {};
|
json[type] = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (--count === 0)
|
if (--count === 0)
|
||||||
loadSettings(info);
|
loadSettings(json);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
if (count > 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
read(json);
|
read(json);
|
||||||
events();
|
events();
|
||||||
|
@ -192,7 +195,7 @@ define(function(require, exports, module) {
|
||||||
if (standalone || type == "project") {
|
if (standalone || type == "project") {
|
||||||
fs.writeFile(PATH[type], json, forceSync, function(err) {});
|
fs.writeFile(PATH[type], json, forceSync, function(err) {});
|
||||||
|
|
||||||
if (standalone && !saveToCloud[type])
|
if (standalone && !saveToCloud[type] || skipCloud[type])
|
||||||
return; // We're done
|
return; // We're done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,7 @@
|
||||||
function done(){
|
function done(){
|
||||||
var vfs = app.services.vfs;
|
var vfs = app.services.vfs;
|
||||||
var c9 = app.services.c9;
|
var c9 = app.services.c9;
|
||||||
|
var settings = app.services.settings;
|
||||||
|
|
||||||
c9.ready();
|
c9.ready();
|
||||||
c9.totalLoadTime = Date.now() - start;
|
c9.totalLoadTime = Date.now() - start;
|
||||||
|
@ -110,13 +111,13 @@
|
||||||
console.warn("Total Load Time: ", Date.now() - start);
|
console.warn("Total Load Time: ", Date.now() - start);
|
||||||
|
|
||||||
if (window.hideLoader) {
|
if (window.hideLoader) {
|
||||||
if (vfs.connected)
|
var waitVfs = function(fn) {
|
||||||
window.hideLoader();
|
vfs.connected ? fn() : vfs.once("connect", fn);
|
||||||
else {
|
};
|
||||||
vfs.once("connect", function(){
|
var waitSettings = function(fn) {
|
||||||
window.hideLoader();
|
settings.inited ? fn() : settings.once("read", fn);
|
||||||
});
|
};
|
||||||
}
|
waitVfs(waitSettings.bind(null, window.hideLoader));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function loadError(mod) {
|
}, function loadError(mod) {
|
||||||
|
|
|
@ -168,6 +168,7 @@
|
||||||
function done() {
|
function done() {
|
||||||
var vfs = app.services.vfs;
|
var vfs = app.services.vfs;
|
||||||
var c9 = app.services.c9;
|
var c9 = app.services.c9;
|
||||||
|
var settings = app.services.settings;
|
||||||
|
|
||||||
c9.ready();
|
c9.ready();
|
||||||
c9.totalLoadTime = Date.now() - start;
|
c9.totalLoadTime = Date.now() - start;
|
||||||
|
@ -175,13 +176,13 @@
|
||||||
console.warn("Total Load Time: ", Date.now() - start);
|
console.warn("Total Load Time: ", Date.now() - start);
|
||||||
|
|
||||||
if (window.hideLoader) {
|
if (window.hideLoader) {
|
||||||
if (vfs.connected)
|
var waitVfs = function(fn) {
|
||||||
window.hideLoader();
|
vfs.connected ? fn() : vfs.once("connect", fn);
|
||||||
else {
|
};
|
||||||
vfs.once("connect", function(){
|
var waitSettings = function(fn) {
|
||||||
window.hideLoader();
|
settings.inited ? fn() : settings.once("read", fn);
|
||||||
});
|
};
|
||||||
}
|
waitVfs(waitSettings.bind(null, window.hideLoader));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function loadError(mod) {
|
}, function loadError(mod) {
|
||||||
|
|
Ładowanie…
Reference in New Issue