From 1ded4a2872e2550a5145152cbe97e11b1f2b99c8 Mon Sep 17 00:00:00 2001 From: Ruben Daniels Date: Wed, 18 Nov 2015 19:09:20 +0000 Subject: [PATCH] Add variable height rows --- .../ace_tree/lib/ace_tree/data_provider.js | 4 ++-- package.json | 2 +- plugins/c9.ide.ui/widgets.list.js | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/node_modules/ace_tree/lib/ace_tree/data_provider.js b/node_modules/ace_tree/lib/ace_tree/data_provider.js index 32d2f0ea..86ff0c8d 100644 --- a/node_modules/ace_tree/lib/ace_tree/data_provider.js +++ b/node_modules/ace_tree/lib/ace_tree/data_provider.js @@ -417,7 +417,7 @@ DataProvider.variableHeightRowMixin = function() { var items = this.visibleItems; var top = 0, index = 0, l = items.length; while (index < l) { - var height = this.getItemHeight(items[index].height, index); + var height = this.getItemHeight(items[index], index); top += height; index++; if (top >= offset) { @@ -445,7 +445,7 @@ DataProvider.variableHeightRowMixin = function() { var items = this.visibleItems; var startH = 0, index = 0, l = items.length; while (index < l) { - var height = this.getItemHeight(items[index].height, index); + var height = this.getItemHeight(items[index], index); startH += height; index++; if (startH >= top) { diff --git a/package.json b/package.json index c8a5cc36..4ee0359d 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#c4d852533c", "c9.ide.save": "#5118b30230", - "c9.ide.scm": "#64465c2eaa", + "c9.ide.scm": "#47a3ac5b65", "c9.ide.terminal.monitor": "#35afa7f97f", "c9.ide.test": "#520fa1e6c5", "c9.ide.test.mocha": "#7844e1dc83", diff --git a/plugins/c9.ide.ui/widgets.list.js b/plugins/c9.ide.ui/widgets.list.js index baddaa89..8995558f 100644 --- a/plugins/c9.ide.ui/widgets.list.js +++ b/plugins/c9.ide.ui/widgets.list.js @@ -251,6 +251,16 @@ define(function(require, exports, module) { */ get enableDragdrop(){ return acetree.getOption("enableDragDrop"); }, set enableDragdrop(value){ acetree.setOption("enableDragDrop", value); }, + /** + * + */ + get enableVariableHeight(){ return model.getItemHeight; }, + set enableVariableHeight(value){ + if (!value) throw new Error("Unable to remove variable height"); + + var variableHeightRowMixin = model.constructor.variableHeightRowMixin; + variableHeightRowMixin.apply(model); + }, /** * */ @@ -411,6 +421,11 @@ define(function(require, exports, module) { */ get getIndex(){ return model.getIndex; }, set getIndex(fn){ model.getIndex = fn; }, + /** + * + */ + get getItemHeight(){ return model.getItemHeight; }, + set getItemHeight(fn){ model.getItemHeight = fn; }, // Events _events: [