kopia lustrzana https://github.com/c9/core
Basics are working
rodzic
727940c98e
commit
15dee3103e
|
@ -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",
|
||||
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
||||
/**
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue