diff --git a/src/plugins/telemetryTable/TelemetryTable.js b/src/plugins/telemetryTable/TelemetryTable.js index e65ff41c96..c7c2d12457 100644 --- a/src/plugins/telemetryTable/TelemetryTable.js +++ b/src/plugins/telemetryTable/TelemetryTable.js @@ -49,6 +49,7 @@ define([ this.telemetryObjects = []; this.outstandingRequests = 0; this.configuration = new TelemetryTableConfiguration(domainObject, openmct); + this.paused = false; this.keyString = this.openmct.objects.makeKeyString(this.domainObject.identifier); this.addTelemetryObject = this.addTelemetryObject.bind(this); @@ -219,7 +220,10 @@ define([ if (!this.telemetryObjects.includes(telemetryObject)) { return; } - this.processRealtimeDatum(datum, columnMap, keyString, limitEvaluator); + + if (!this.paused) { + this.processRealtimeDatum(datum, columnMap, keyString, limitEvaluator); + } }, subscribeOptions); } @@ -255,6 +259,17 @@ define([ } } + pause() { + this.paused = true; + this.boundedRows.unsubscribeFromBounds(); + } + + unpause() { + this.paused = false; + this.boundedRows.subscribeToBounds(); + this.refreshData(); + } + destroy() { this.boundedRows.destroy(); this.filteredRows.destroy(); diff --git a/src/plugins/telemetryTable/TelemetryTableColumn.js b/src/plugins/telemetryTable/TelemetryTableColumn.js index 15185f159a..ad157832c4 100644 --- a/src/plugins/telemetryTable/TelemetryTableColumn.js +++ b/src/plugins/telemetryTable/TelemetryTableColumn.js @@ -21,10 +21,11 @@ *****************************************************************************/ define(function () { class TelemetryTableColumn { - constructor (openmct, metadatum) { + constructor (openmct, metadatum, options = {selectable: false}) { this.metadatum = metadatum; this.formatter = openmct.telemetry.getValueFormatter(metadatum); this.titleValue = this.metadatum.name; + this.selectable = options.selectable; } getKey() { @@ -55,8 +56,7 @@ define(function () { return formattedValue; } } - - }; + } return TelemetryTableColumn; }); diff --git a/src/plugins/telemetryTable/TelemetryTableViewProvider.js b/src/plugins/telemetryTable/TelemetryTableViewProvider.js index b5b3238932..2c7bd19a4a 100644 --- a/src/plugins/telemetryTable/TelemetryTableViewProvider.js +++ b/src/plugins/telemetryTable/TelemetryTableViewProvider.js @@ -67,7 +67,7 @@ define([ table }, el: element, - template: '' + template: '' }); }, onEditModeChange(isEditing) { diff --git a/src/plugins/telemetryTable/collections/BoundedTableRowCollection.js b/src/plugins/telemetryTable/collections/BoundedTableRowCollection.js index 77238d4412..e5c98f44b4 100644 --- a/src/plugins/telemetryTable/collections/BoundedTableRowCollection.js +++ b/src/plugins/telemetryTable/collections/BoundedTableRowCollection.js @@ -43,7 +43,8 @@ define( this.sortByTimeSystem(openmct.time.timeSystem()); this.lastBounds = openmct.time.bounds(); - openmct.time.on('bounds', this.bounds); + + this.subscribeToBounds(); } addOne(item) { @@ -140,9 +141,17 @@ define( return this.parseTime(row.datum[this.sortOptions.key]); } - destroy() { + unsubscribeFromBounds() { this.openmct.time.off('bounds', this.bounds); } + + subscribeToBounds() { + this.openmct.time.on('bounds', this.bounds); + } + + destroy() { + this.unsubscribeFromBounds(); + } } return BoundedTableRowCollection; }); diff --git a/src/plugins/telemetryTable/components/table-row.vue b/src/plugins/telemetryTable/components/table-row.vue index ed2642cd50..7e1a185ed9 100644 --- a/src/plugins/telemetryTable/components/table-row.vue +++ b/src/plugins/telemetryTable/components/table-row.vue @@ -20,22 +20,36 @@ * at runtime from the About dialog for additional information. *****************************************************************************/