From c5014956da32ad286f2d392d693cbff48f835a5e Mon Sep 17 00:00:00 2001 From: Ruben Daniels Date: Tue, 31 Mar 2015 22:49:59 +0000 Subject: [PATCH] Added missing interface and keyboard support for checkbox --- package.json | 4 ++-- plugins/c9.ide.ui/widgets.list.js | 40 ++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index dd171e66..69a5e20f 100644 --- a/package.json +++ b/package.json @@ -77,13 +77,13 @@ "c9.ide.behaviors": "#6aad7006a0", "c9.ide.closeconfirmation": "#a28bfd8272", "c9.ide.configuration": "#b8470f4107", - "c9.ide.dialog.wizard": "#e03db0af98", + "c9.ide.dialog.wizard": "#dc21825084", "c9.ide.fontawesome": "#781602c5d8", "c9.ide.format": "#f51451ac57", "c9.ide.help.support": "#60e88f5680", "c9.ide.imgeditor": "#08bbc53578", "c9.ide.immediate": "#6845a93705", - "c9.ide.installer": "#a04eed6a5f", + "c9.ide.installer": "#3a484a66b5", "c9.ide.mount": "#32e79866ee", "c9.ide.navigate": "#64156c7f4a", "c9.ide.newresource": "#9a7464cc47", diff --git a/plugins/c9.ide.ui/widgets.list.js b/plugins/c9.ide.ui/widgets.list.js index f2c76caf..22333c6f 100644 --- a/plugins/c9.ide.ui/widgets.list.js +++ b/plugins/c9.ide.ui/widgets.list.js @@ -88,7 +88,7 @@ define(function(require, exports, module) { emit.sticky("draw"); } - + plugin.on("load", function(){ if (options.container) plugin.attachTo(options.container); @@ -271,6 +271,20 @@ define(function(require, exports, module) { + "'>"; } : null; + + if (value) { + acetree.commands.bindKey("Space", function(e) { + var nodes = acetree.selection.getSelectedNodes(); + var node = acetree.selection.getCursor(); + node.isChecked = !node.isChecked; + nodes.forEach(function(n){ n.isChecked = node.isChecked }); + model._signal(node.isChecked ? "check" : "uncheck", nodes); + model._signal("change"); + }); + } + else { + // @TODO + } }, /** * @@ -440,6 +454,14 @@ define(function(require, exports, module) { * @event afterRename Fires */ "afterRename", + /** + * @event check Fires + */ + "check", + /** + * @event uncheck Fires + */ + "uncheck", /** * @event select Fires */ @@ -517,6 +539,22 @@ define(function(require, exports, module) { disable: function(){ return acetree.enable(); }, + /** + * + */ + check: function(node, half){ + node.isChecked = half ? -1 : true; + model._signal("check", node); + model._signal("change"); + }, + /** + * + */ + uncheck: function(node){ + node.isChecked = false; + model._signal("uncheck", node); + model._signal("change"); + }, /** * */