Basics are working

pull/39/head
Ruben Daniels 2015-02-17 04:11:06 +00:00
rodzic 727940c98e
commit 15dee3103e
4 zmienionych plików z 48 dodań i 22 usunięć

Wyświetl plik

@ -220,6 +220,9 @@ module.exports = function(options) {
autoInit: !options.local
},
"plugins/c9.ide.ui/forms",
"plugins/c9.ide.ui/widgets.list",
"plugins/c9.ide.ui/widgets.tree",
"plugins/c9.ide.ui/widgets.datagrid",
"plugins/c9.ide.ui/focus",
"plugins/c9.ide.ui/lib_apf",

Wyświetl plik

@ -1,10 +1,12 @@
define(function(require, exports, module) {
main.consumes = ["Tree"];
main.consumes = ["Tree", "layout", "ui"];
main.provides = ["Datagrid"];
return main;
function main(options, imports, register) {
var Tree = imports.Tree;
var layout = imports.layout;
var ui = imports.ui;
var TreeModel = require("ace_tree/data_provider");
@ -22,10 +24,19 @@ define(function(require, exports, module) {
model.columns = options.columns;
options.model = model;
var plugin = new Tree(options, forPlugin);
var plugin = new Tree(options, forPlugin, true);
// var emit = plugin.getEmitter();
if (baseclass) plugin.baseclass();
layout.on("eachTheme", function(e){
var cls = "." + plugin.theme + " .row";
var height = parseInt(ui.getStyleRule(cls, "height"), 10) || 24;
// model.rowHeightInner = height - 1;
model.rowHeight = height;
if (e.changed) plugin.resize(true);
});
/**
*/
/**

Wyświetl plik

@ -27,7 +27,9 @@ define(function(require, exports, module) {
var model;
var redirectEvents;
var meta = {};
var excludedEvents = { "load":1, "unload":1 };
var excludedEvents = {
"load":1, "unload":1, "addListener":1, "removeListener":1
};
plugin.on("load", function(){
acetree = new AceTree(options.container);
@ -40,43 +42,44 @@ define(function(require, exports, module) {
for (var prop in options) {
if (prop == "container") continue;
if (plugin.hasOwnProperty(prop))
plugin[prop](options[prop]);
plugin[prop] = options[prop];
}
// Configure redirected events
redirectEvents = {
scroll: acetree.provider,
scroll: model,
scrollbarVisibilityChanged: acetree.renderer,
resize: acetree.renderer,
expand: acetree.provider,
collapse: acetree.provider
expand: model,
collapse: model
};
});
plugin.on("unload", function(){
acetree && acetree.destroy();
acetree = null;
model = null;
redirectEvents = null;
if (acetree) {
model.setRoot(null);
acetree.destroy();
acetree.container.innerHTML = "";
}
meta = {};
});
plugin.on("newListener", function(type, fn){
if (excludedEvents[type]) return;
if (redirectEvents[type])
redirectEvents.on(type, fn);
redirectEvents[type].on(type, fn);
else
acetree.on(type, fn);
});
plugin.on("removeListener", function(type, fn){
if (excludedEvents[type]) return;
if (redirectEvents[type])
redirectEvents.removeListener(type, fn);
redirectEvents[type].removeListener(type, fn);
else
acetree.removeListener(type, fn);
});
/**
*
*/
/**
* @constructor
@ -101,14 +104,15 @@ define(function(require, exports, module) {
*
*/
get selectedNodes(){
return (acetree.selection.getCursor()
|| acetree.getFirstNode()) || null;
return (acetree.selection.getSelectedNodes() || []);/*.map(function(n){
return n.id;
}); */
},
/**
*
*/
get selectedNode(){
return acetree.selection.getSelectedNodes() || [];
return (acetree.selection.getCursor() || null); //.id || null;
},
/**
*
@ -117,7 +121,7 @@ define(function(require, exports, module) {
/**
*
*/
get scrollTop(){ return acetree.provider.getScrollTop(); },
get scrollTop(){ return model.getScrollTop(); },
/**
*
*/
@ -354,7 +358,7 @@ define(function(require, exports, module) {
*
*/
setScrollTop: function(scrollTop){
return acetree.provider.setScrollTop(scrollTop);
return model.setScrollTop(scrollTop);
},
/**
*
@ -397,6 +401,12 @@ define(function(require, exports, module) {
*/
getIndexForNode: function(node){
return model.getIndexForNode(node);
},
/**
*
*/
refresh: function(){
plugin.setRoot(plugin.root);
}
});

Wyświetl plik

@ -16,10 +16,12 @@ define(function(require, exports, module) {
if (!options.baseName)
options.baseName = "tree";
var model = new TreeModel();
options.model = model;
if (!options.model) {
var model = new TreeModel();
options.model = model;
}
var plugin = new List(options, forPlugin);
var plugin = new List(options, forPlugin, true);
// var emit = plugin.getEmitter();
if (baseclass) plugin.baseclass();