diff --git a/plugins/c9.fs/fs.cache.xml.js b/plugins/c9.fs/fs.cache.xml.js index 60f0480a..aac5ba76 100644 --- a/plugins/c9.fs/fs.cache.xml.js +++ b/plugins/c9.fs/fs.cache.xml.js @@ -227,6 +227,11 @@ define(function(require, exports, module) { // Modify + function confirmStatus(node) { + if (node.status === "predicted") + node.status = node.isFolder ? "pending" : "loaded"; + } + function afterHandler(e) { if (e.error) e.undo && e.undo(); else e.confirm && e.confirm(); @@ -261,8 +266,7 @@ define(function(require, exports, module) { }); }; e.confirm = function () { - if (node.status === "predicted") - node.status = isFolder ? "pending" : "loaded"; + confirmStatus(node); }; node.status = "predicted"; } @@ -355,9 +359,7 @@ define(function(require, exports, module) { createNode(newPath, null, node); // Move node recurPathUpdate(node, oldPath, newPath); } - - if (node.status === "predicted") - node.status = "pending"; + confirmStatus(node); }; node.status = "predicted"; }, plugin); @@ -390,8 +392,7 @@ define(function(require, exports, module) { }); }; e.confirm = function() { - if (node.status === "predicted") - node.status = "pending"; + confirmStatus(node); }; node.status = "predicted"; }, plugin); @@ -430,10 +431,8 @@ define(function(require, exports, module) { removeSingleNode({ path: to }); }; e.confirm = function() { - if (toNode.status === "predicted") - toNode.status = e.status; + confirmStatus(node); }; - e._status = node.status == "predicted" ? "pending" : e.status; toNode.status = "predicted"; } diff --git a/plugins/c9.ide.behaviors/tabs.js b/plugins/c9.ide.behaviors/tabs.js index 474e5025..9299c88e 100644 --- a/plugins/c9.ide.behaviors/tabs.js +++ b/plugins/c9.ide.behaviors/tabs.js @@ -256,12 +256,14 @@ define(function(require, exports, module) { menus.addItemByPath("Window/Tabs/~", new apf.label({ class: "splits", - caption: "" - + "" - + "" - + "" - + "" - + "", + caption: [ + ["span", { class: "nosplit" }], + ["span", { class: "twovsplit" }], + ["span", { class: "twohsplit" }], + ["span", { class: "foursplit" }], + ["span", { class: "threeleft" }], + ["span", { class: "threeright" }], + ], onclick: function(e) { var span = e.htmlEvent.target; if (!span || span.tagName != "SPAN") return; diff --git a/plugins/c9.ide.ui/lib_apf.js b/plugins/c9.ide.ui/lib_apf.js index 7ce68c9a..896593e7 100644 --- a/plugins/c9.ide.ui/lib_apf.js +++ b/plugins/c9.ide.ui/lib_apf.js @@ -13796,7 +13796,12 @@ apf.label = function(struct, tagName) { */ this.$supportedProperties.push("caption", "for", "textalign"); this.$propHandlers["caption"] = function(value) { - this.$caption.textContent = value; + if (typeof value == "string") + this.$caption.textContent = value; + else if (Array.isArray(value)) { + this.$caption.textContent = ""; + apf.buildDom(value, this.$caption); + } }; this.$propHandlers["for"] = function(value) { forElement = typeof value == "string" ? self[value] : value; diff --git a/plugins/c9.vfs.standalone/www/ide.offline.html b/plugins/c9.vfs.standalone/www/ide.offline.html index 18d7dc92..711aec9f 100644 --- a/plugins/c9.vfs.standalone/www/ide.offline.html +++ b/plugins/c9.vfs.standalone/www/ide.offline.html @@ -251,8 +251,10 @@ var parts = ("/.c9/metadata" + path).split("/") var name = "!" + parts.pop(); var parent = findNode(parts.join("/"), true); - if (sync) + if (sync) { parent[name] = JSON.stringify(value); + return cb(); + } setTimeout(function() { parent[name] = JSON.stringify(value); cb(); @@ -405,6 +407,9 @@