[Tables] Fixed issue with historical tables composed of multiple objects

This commit is contained in:
Henry 2016-03-13 19:12:55 -07:00
parent 5208631528
commit ea0b86fe72
3 changed files with 31 additions and 6 deletions

View File

@ -6,7 +6,8 @@
<table class="filterable"
ng-style="overrideRowPositioning && {
height: totalHeight + 'px',
'table-layout': overrideRowPositioning ? 'fixed' : 'auto'
'table-layout': overrideRowPositioning ? 'fixed' : 'auto',
'max-width': totalWidth
}">
<thead>
<tr>
@ -57,7 +58,7 @@
'box-sizing': 'border-box'
}"
class="{{visibleRow.contents[header].cssClass}}">
{{ visibleRow.contents[header].text }}
{{ visibleRow.contents[header].text }}
</td>
</tr>
</tbody>

View File

@ -238,12 +238,16 @@ define(
column = firstRow.find('td'),
headerHeight = thead.prop('offsetHeight'),
rowHeight = 20,
columnWidth,
tableWidth = 0,
overallHeight = headerHeight + (rowHeight * (this.$scope.displayRows ? this.$scope.displayRows.length - 1 : 0));
this.$scope.columnWidths = [];
while (column.length) {
columnWidth = column.prop('offsetWidth');
this.$scope.columnWidths.push(column.prop('offsetWidth'));
tableWidth += columnWidth;
column = column.next();
}
this.$scope.headerHeight = headerHeight;
@ -251,6 +255,11 @@ define(
this.$scope.totalHeight = overallHeight;
this.setVisibleRows();
this.$scope.overrideRowPositioning = true;
if (tableWidth > 0) {
this.$scope.totalWidth = tableWidth + 'px';
} else {
this.$scope.totalWidth = 'none';
}
};
/**

View File

@ -106,6 +106,8 @@ define(
only).
*/
TelemetryTableController.prototype.subscribe = function() {
var self = this;
if (this.handle) {
this.handle.unsubscribe();
}
@ -120,7 +122,22 @@ define(
true // Lossless
);
this.handle.request({}, this.addHistoricalData.bind(this));
function getHistoricalData(){
var rowData = [];
self.handle.getTelemetryObjects().forEach(function(telemetryObject){
var series = self.handle.getSeries(telemetryObject) || {},
pointCount = series.getPointCount ? series.getPointCount() : 0,
i = 0;
for (; i < pointCount; i++) {
rowData.push(self.table.getRowValues(telemetryObject, self.handle.makeDatum(telemetryObject, series, i)));
}
});
self.$scope.rows = rowData;
}
this.handle.request({}).then(getHistoricalData);
this.setup();
};
@ -134,10 +151,8 @@ define(
newRows = [];
for (i=0; i < series.getPointCount(); i++) {
newRows.push(this.table.getRowValues(domainObject, this.handle.makeDatum(domainObject, series, i)));
this.$scope.rows.push(this.table.getRowValues(domainObject, this.handle.makeDatum(domainObject, series, i)));
}
this.$scope.rows = newRows;
};
/**