Commit 8d9b45f4 authored by jgould's avatar jgould

collapse columns fix

parent 319cf5c3
This source diff could not be displayed because it is too large. You can view the blob instead.
morpheus.TxtReader = function(options) {
morpheus.TxtReader = function (options) {
this.options = $.extend({}, {
dataRowStart : 1,
dataColumnStart : 1
dataRowStart: 1,
dataColumnStart: 1
}, options);
};
morpheus.TxtReader.prototype = {
read : function(fileOrUrl, callback) {
read: function (fileOrUrl, callback) {
var _this = this;
var name = morpheus.Util.getBaseFileName(morpheus.Util
.getFileName(fileOrUrl));
morpheus.BufferedReader.getArrayBuffer(fileOrUrl, function(err,
morpheus.BufferedReader.getArrayBuffer(fileOrUrl, function (err,
arrayBuffer) {
if (err) {
callback(err);
......@@ -25,7 +25,7 @@ morpheus.TxtReader.prototype = {
});
},
_read : function(datasetName, reader) {
_read: function (datasetName, reader) {
var tab = /\t/;
var header = morpheus.Util.trim(reader.readLine()).split(tab);
if (this.options.dataRowStart > 1) {
......@@ -50,7 +50,7 @@ morpheus.TxtReader.prototype = {
var tokens = s.split(tab);
for (var j = 0; j < dataColumnStart; j++) {
// row metadata
arrayOfRowArrays[j].push(String(tokens[j]));
arrayOfRowArrays[j].push(morpheus.Util.copyString(tokens[j]));
}
for (var j = dataColumnStart; j <= ncols; j++) {
var token = tokens[j];
......@@ -59,23 +59,16 @@ morpheus.TxtReader.prototype = {
}
}
var dataset = new morpheus.Dataset({
name : datasetName,
rows : matrix.length,
columns : ncols,
array : matrix,
dataType : 'Float32'
name: datasetName,
rows: matrix.length,
columns: ncols,
array: matrix,
dataType: 'Float32'
});
// if (this.options.trim) {
// arrayOfRowArrays.forEach(function(array) {
// for (var i = 0, length = array.length; i < length; i++) {
// array[i] = $.trim(array[i]);
// }
// });
// }
// morpheus.DatasetUtil.fill(dataset, NaN);
var columnIds = dataset.getColumnMetadata().add('id');
for (var i = 0, j = dataColumnStart; i < ncols; i++, j++) {
columnIds.setValue(i, String(header[j]));
columnIds.setValue(i, morpheus.Util.copyString(header[j]));
}
var rowIdVector = dataset.getRowMetadata().add('id');
rowIdVector.array = arrayOfRowArrays[0];
......
......@@ -57,13 +57,13 @@ morpheus.CollapseDatasetTool.prototype = {
var dataset = project.getFullDataset();
var rows = options.input.collapse == 'Rows';
if (!rows) {
dataset = morpheus.DatasetUtil.transposedView(dataset);
dataset = new morpheus.TransposedDatasetView(dataset);
}
var allFields = morpheus.MetadataUtil.getMetadataNames(dataset
.getRowMetadata());
dataset = morpheus.CollapseDataset(dataset, collapseToFields, f, true);
if (!rows) {
dataset = dataset.getDataset();
dataset = new morpheus.TransposedDatasetView(dataset);
}
var set = new morpheus.Map();
_.each(allFields, function (field) {
......
......@@ -168,9 +168,19 @@ morpheus.HeatMapElementCanvas.prototype = {
var right = morpheus.Positions.getRight(clip, columnPositions);
var top = morpheus.Positions.getTop(clip, rowPositions);
var bottom = morpheus.Positions.getBottom(clip, rowPositions);
if (this.dataset.getRowCount() === 0 || this.dataset.getColumnCount() === 0) {
return context.fillText("No data", 0, 0);
} else {
context.translate(-clip.x, -clip.y);
this._draw({left: left, right: right, top: top, bottom: bottom, context: context});
this._draw({
left: left,
right: right,
top: top,
bottom: bottom,
context: context
});
context.translate(clip.x, clip.y);
}
},
_draw: function (options) {
......@@ -180,6 +190,7 @@ morpheus.HeatMapElementCanvas.prototype = {
var bottom = options.bottom;
var context = options.context;
var dataset = this.dataset;
var columnPositions = this.columnPositions;
var rowPositions = this.rowPositions;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment