Skip to content

Commit a1b9468

Browse files
davetsayjvigliottamudinthewaterPeter Di Pasquale
authored
Back merge release/5.3.0 into main (#262)
Co-authored-by: Jamie V. <[email protected]> Co-authored-by: mudinthewater <[email protected]> Co-authored-by: Peter Di Pasquale <[email protected]>
1 parent d0a03b8 commit a1b9468

30 files changed

+204
-251
lines changed

config.js

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,7 @@
189189
*/
190190
timeSystems: [
191191
'scet',
192-
'ert',
193-
'sclk',
194-
'lmst'
192+
'ert'
195193
],
196194

197195
/**
@@ -283,7 +281,9 @@
283281
*/
284282
allowRealtime: true,
285283
/**
286-
* allowLAD: whether or not to allow latest data relative time conductor.
284+
* allowLAD: whether or not to allow latest data relative time conductor.
285+
*
286+
* Note: allowRealtime must be true to use this option
287287
*/
288288
allowLAD: true,
289289
/**
@@ -436,10 +436,28 @@
436436
},
437437

438438
/**
439-
* Enable global filters for ALL telemetry requests that support the filter
439+
* Enable global filters for ALL telemetry requests that support the filter.
440+
* Telemetry filters modify the 'filter' field in queries to MCWS.
440441
*
442+
* key property is required and other options are optional
443+
* globalFilters: array, optional - list of global filters to configure.
444+
* * key: string, required. Filter column, e.g. vcid
445+
* * name: string, required. Identifier of the filter in the selection window.
446+
* * icon: 'icon-flag', string, icon. Not implemented - potentially icon for minimized filter list.
447+
* * filter: object, required. Filter object to implement
448+
* * * comparator: string, required. currently supports 'equals'
449+
* * * singleSelectionThreshold: boolean, required. currently supports true only.
450+
* * * defaultLabel: string, optional. Defaults to 'None'. Label to show if filter inactive.
451+
* * * possibleValues: array, required. List of values and labels for filter.
452+
* * * * label: string, required. Label to show in filter selection dropdown.
453+
* * * * value: string, required. value to set parameter to in filtered query.
441454
* How to use:
442-
* The global filters will be available from the Global Filters indicator
455+
* The global filters will be available from the Global Filters indicator.
456+
* Enable a filter by selecting the desired filter from the dropdown and hitting update.
457+
* Outgoing requests that use the 'filter' parameter to MCWS will be modified with your filter.
458+
* example below, selecting 'A side' will ensure that the filter parameter in mcws includes:
459+
* vcid='1,2,3'. Note that poorly formatted filters may not pass MCWS API validation.
460+
*
443461
*/
444462
/*
445463
globalFilters: [
@@ -450,6 +468,7 @@
450468
filter: {
451469
comparator: 'equals',
452470
singleSelectionThreshold: true,
471+
defaultLabel: "A & B",
453472
possibleValues: [
454473
{
455474
label: 'A Side',
@@ -468,6 +487,7 @@
468487
filter: {
469488
comparator: 'equals',
470489
singleSelectionThreshold: true,
490+
defaultLabel: "REC & RLT",
471491
possibleValues: [
472492
{
473493
label: 'Realtime',

package.json

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,51 @@
11
{
22
"name": "openmct-mcws",
3-
"version": "5.3.0-rc2",
3+
"version": "2512.01-next",
44
"description": "Open MCT for MCWS",
55
"devDependencies": {
6-
"@braintree/sanitize-url": "6.0.2",
7-
"@vue/compiler-sfc": "3.3.8",
8-
"babel-loader": "8.2.3",
6+
"@braintree/sanitize-url": "6.0.4",
7+
"@vue/compiler-sfc": "3.4.3",
8+
"babel-loader": "8.2.0",
99
"babel-plugin-istanbul": "6.1.1",
1010
"bower": "^1.7.7",
1111
"comma-separated-values": "3.6.4",
12-
"copy-webpack-plugin": "11.0.0",
13-
"css-loader": "4.0.0",
12+
"copy-webpack-plugin": "12.0.2",
13+
"css-loader": "6.10.0",
1414
"eventemitter3": "5.0.1",
1515
"file-saver": "2.0.5",
1616
"git-rev-sync": "3.0.2",
1717
"html2canvas": "1.4.1",
1818
"imports-loader": "0.8.0",
19-
"jasmine-core": "4.1.1",
19+
"jasmine-core": "5.1.1",
2020
"jshint": "^2.7.0",
21-
"karma": "6.3.20",
22-
"karma-chrome-launcher": "3.1.1",
21+
"karma": "6.4.2",
22+
"karma-chrome-launcher": "3.2.0",
2323
"karma-cli": "2.0.0",
2424
"karma-coverage": "2.2.0",
2525
"karma-coverage-istanbul-reporter": "3.0.3",
2626
"karma-html-reporter": "^0.2.7",
27-
"karma-jasmine": "4.0.1",
28-
"karma-sourcemap-loader": "0.3.8",
29-
"karma-webpack": "5.0.0",
27+
"karma-jasmine": "5.1.0",
28+
"karma-sourcemap-loader": "0.4.0",
29+
"karma-webpack": "5.0.1",
3030
"lodash": "4.17.21",
31-
"marked": "^4.0.10",
32-
"mini-css-extract-plugin": "2.6.0",
33-
"moment": "2.29.4",
31+
"marked": "12.0.0",
32+
"mini-css-extract-plugin": "2.7.6",
33+
"moment": "2.30.1",
3434
"node-bourbon": "^4.2.3",
35-
"openmct": "nasa/openmct#omm-r5.3.0-rc1",
36-
"printj": "^1.2.1",
35+
"openmct": "nasa/openmct#omm-r5.3.0-rc3",
36+
"printj": "1.3.1",
3737
"raw-loader": "^0.5.1",
3838
"resolve-url-loader": "5.0.0",
39-
"sass": "1.52.2",
40-
"sass-loader": "12.6.0",
39+
"sass": "1.71.1",
40+
"sass-loader": "14.1.1",
4141
"source-map-loader": "^0.2.4",
42-
"style-loader": "^1.0.1",
43-
"vue": "3.3.8",
42+
"style-loader": "3.3.3",
43+
"vue": "3.4.24",
4444
"vue-loader": "16.8.3",
4545
"webpack": "5.94.0",
4646
"webpack-cli": "5.1.1",
4747
"webpack-dev-server": "5.0.2",
48-
"webpack-merge": "5.10.0",
49-
"zepto": "^1.2.0"
48+
"webpack-merge": "5.10.0"
5049
},
5150
"scripts": {
5251
"clean": "npm cache clean --force;rm -rf ./dist ./node_modules ./target ./package-lock.json",

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<groupId>gov.nasa.arc.wtd</groupId>
77
<artifactId>openmct-client</artifactId>
88
<name>Open MCT for MCWS Client</name>
9-
<version>5.3.0-rc2</version>
9+
<version>2512.01-next</version>
1010
<packaging>war</packaging>
1111

1212
<properties>

src/AMMOSPlugins.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ define([
101101
openmct.install(new TaxonomyPlugin(options.taxonomy));
102102
openmct.install(new LinkPlugin(options));
103103
openmct.install(new VenuePlugin.default(options));
104-
openmct.install(FrameWatchViewPlugin.default());
105-
openmct.install(FrameEventFilterViewPlugin.default());
104+
openmct.install(FrameWatchViewPlugin.default(options.tablePerformanceOptions));
105+
openmct.install(FrameEventFilterViewPlugin.default(options.tablePerformanceOptions));
106106
openmct.install(new ChannelTablePlugin.default(options.tablePerformanceOptions));
107107
openmct.install(new ChannelTableSetPlugin.default());
108108
openmct.install(new ChannelLimitsPlugin.default());

src/dictionaryView/dictionaryViewProvider.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export default class DictionaryViewProvider {
2929
};
3030

3131
const view = {
32-
show: function (element, editMode) {
32+
show: function (element, editMode, { renderWhenVisible }) {
3333
const componentDefinition = {
3434
components: {
3535
DictionaryView
@@ -46,7 +46,8 @@ export default class DictionaryViewProvider {
4646
domainObject,
4747
table,
4848
objectPath,
49-
currentView: view
49+
currentView: view,
50+
renderWhenVisible
5051
},
5152
template: `
5253
<dictionary-view

src/dictionaryView/dictionaryViewTable.js

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,6 @@ export default class DictionaryViewTable extends TelemetryTable {
2222
addTelemetryObject(telemetryObject) {
2323
this.addColumnsForObject(telemetryObject, true);
2424

25-
const keyString = this.openmct.objects.makeKeyString(telemetryObject.identifier);
26-
let requestOptions = this.buildOptionsFromConfiguration(telemetryObject);
27-
let columnMap = this.getColumnMapForObject(keyString);
28-
let limitEvaluator = this.openmct.telemetry.limitEvaluator(telemetryObject);
29-
30-
const telemetryProcessor = this.getTelemetryProcessor(keyString, columnMap, limitEvaluator);
31-
const telemetryRemover = this.getTelemetryRemover();
32-
33-
this.removeTelemetryCollection(keyString);
34-
35-
this.telemetryCollections[keyString] = this.openmct.telemetry
36-
.requestCollection(telemetryObject, requestOptions);
37-
38-
this.telemetryCollections[keyString].on('requestStarted', this.incrementOutstandingRequests);
39-
this.telemetryCollections[keyString].on('requestEnded', this.decrementOutstandingRequests);
40-
this.telemetryCollections[keyString].on('remove', telemetryRemover);
41-
this.telemetryCollections[keyString].on('add', telemetryProcessor);
42-
this.telemetryCollections[keyString].on('clear', this.clearData);
43-
// this.telemetryCollections[keyString].load();
44-
45-
this.telemetryObjects[keyString] = {
46-
telemetryObject,
47-
keyString,
48-
requestOptions,
49-
columnMap,
50-
limitEvaluator
51-
};
52-
5325
this.emit('object-added', telemetryObject);
5426
}
5527

src/exportDataAction/ExportDataTaskSpec.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,8 @@ define([
6262

6363
describe('when invoked', () => {
6464

65-
beforeEach(async (done) => {
65+
beforeEach(async () => {
6666
await task.invoke();
67-
done();
6867
});
6968

7069
it('requests comprehensive telemetry for all objects', () => {

src/frameaccountability/frameAccountabilityViewProvider.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ export default class FrameAccountabilityViewProvider {
1414
this.domainObject = domainObject;
1515
this.keystring = openmct.objects.makeKeyString(this.domainObject.identifier);
1616
this.openmct = openmct;
17-
this.table = this.instantiateBadFramesTable();
1817
this.expectedVcidList = options.frameAccountabilityExpectedVcidList;
1918
this.tablePerformanceOptions = options.tablePerformanceOptions;
2019
this._destroy = null;
20+
21+
this.table = this.instantiateBadFramesTable();
2122
}
2223
instantiateBadFramesTable() {
2324
const domainObject = {

src/globalFilters/FilterField.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
name="setSelectionThreshold"
1111
@change="updateFilterValueFromDropdown($event, filter.comparator, $event.target.value)"
1212
>
13-
<option key="NONE" value="NONE">
14-
None
13+
<option value="NONE">
14+
{{ defaultLabel }}
1515
</option>
1616
<option
1717
v-for="option in filter.possibleValues"
@@ -53,6 +53,9 @@ export default {
5353
computed: {
5454
name() {
5555
return this.filterName || this.filterKey;
56+
},
57+
defaultLabel(){
58+
return this.filter.defaultLabel ?? 'None';
5659
}
5760
},
5861
data() {

src/globalFilters/GlobalFilterSelector.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@
3434
</button>
3535
</div>
3636
</div>
37+
3738
</template>
3839

3940
<script>
4041
import FilterField from './FilterField.vue';
42+
import { toRaw } from 'vue';
4143
4244
export default {
4345
inject: [
@@ -68,8 +70,8 @@ export default {
6870
};
6971
},
7072
mounted() {
71-
this.updatedFilters = structuredClone(this.activeFilters);
7273
74+
this.updatedFilters = structuredClone(toRaw(this.activeFilters));
7375
this.openOverlay();
7476
},
7577
methods: {
@@ -84,7 +86,7 @@ export default {
8486
this.updatedFilters[key][comparator] = value;
8587
},
8688
updateFilters() {
87-
this.$emit('update-filters', this.updatedFilters);
89+
this.$emit('update-filters', toRaw(this.updatedFilters));
8890
8991
this.closeOverlay();
9092
},
@@ -94,7 +96,7 @@ export default {
9496
openOverlay() {
9597
this.overlay = this.openmct.overlays.overlay({
9698
element: this.$el,
97-
size: 'small',
99+
size: 'fit',
98100
dismissable: true,
99101
onDestroy: () => {
100102
this.$emit('close-filter-selector');

0 commit comments

Comments
 (0)