Compare commits
14 Commits
static-roo
...
experiment
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06cddb6e16 | ||
|
|
ca53852014 | ||
|
|
d7d8bedf2a | ||
|
|
c24c652f4b | ||
|
|
1cb4f5b013 | ||
|
|
a7df8bf168 | ||
|
|
ff269ac390 | ||
|
|
cdee5e8102 | ||
|
|
159457a52d | ||
|
|
d637420da1 | ||
|
|
eb4da293c6 | ||
|
|
738fac64b8 | ||
|
|
7703ec0a61 | ||
|
|
52466999b8 |
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,5 +1,5 @@
|
||||
<!--- Note: Please open the PR in draft form until you are ready for active review. -->
|
||||
Closes: <!--- Insert Issue Number(s) this PR addresses. Start by typing # will open a dropdown of recent issues. -->
|
||||
Closes <!--- Insert Issue Number(s) this PR addresses. Start by typing # will open a dropdown of recent issues. Note: this does not work on PRs which target release branches -->
|
||||
|
||||
### Describe your changes:
|
||||
<!--- Describe your changes and add any comments about your approach either here or inline if code comments aren't added -->
|
||||
|
||||
3
.github/dependabot.yml
vendored
3
.github/dependabot.yml
vendored
@@ -10,6 +10,7 @@ updates:
|
||||
- "type:maintenance"
|
||||
- "dependencies"
|
||||
- "pr:e2e"
|
||||
- "pr:daveit"
|
||||
allow:
|
||||
- dependency-name: "*eslint*"
|
||||
- dependency-name: "*karma*"
|
||||
@@ -25,4 +26,4 @@ updates:
|
||||
labels:
|
||||
- "type:maintenance"
|
||||
- "dependencies"
|
||||
- "prcop:disable"
|
||||
- "pr:daveit"
|
||||
|
||||
2
.github/workflows/prcop-config.json
vendored
2
.github/workflows/prcop-config.json
vendored
@@ -15,5 +15,5 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"disableWord": "prcop:disable"
|
||||
"disableWord": "pr:daveit"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -195,7 +195,6 @@
|
||||
));
|
||||
openmct.install(openmct.plugins.Clock({ enableClockIndicator: true }));
|
||||
openmct.install(openmct.plugins.Timer());
|
||||
openmct.install(openmct.plugins.StaticRootPlugin('root', './dist/static-root.json'));
|
||||
openmct.start();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "openmct",
|
||||
"version": "1.8.4",
|
||||
"version": "1.8.5-SNAPSHOT",
|
||||
"description": "The Open MCT core platform",
|
||||
"devDependencies": {
|
||||
"@braintree/sanitize-url": "^5.0.2",
|
||||
@@ -20,7 +20,7 @@
|
||||
"d3-scale": "1.0.x",
|
||||
"d3-selection": "1.3.x",
|
||||
"eslint": "7.0.0",
|
||||
"eslint-plugin-playwright": "0.7.1",
|
||||
"eslint-plugin-playwright": "0.8.0",
|
||||
"eslint-plugin-vue": "^7.5.0",
|
||||
"eslint-plugin-you-dont-need-lodash-underscore": "^6.10.0",
|
||||
"eventemitter3": "^1.2.0",
|
||||
@@ -73,7 +73,7 @@
|
||||
"uuid": "^3.3.3",
|
||||
"v8-compile-cache": "^1.1.0",
|
||||
"vue": "2.5.6",
|
||||
"vue-eslint-parser": "8.0.1",
|
||||
"vue-eslint-parser": "8.2.0",
|
||||
"vue-loader": "15.9.8",
|
||||
"vue-template-compiler": "2.5.6",
|
||||
"webpack": "^5.65.0",
|
||||
@@ -114,7 +114,7 @@
|
||||
"url": "https://github.com/nasa/openmct.git"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.1 <15.0.0"
|
||||
"node": ">=12.20.1 <15.0.0"
|
||||
},
|
||||
"author": "",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -123,7 +123,10 @@ export default {
|
||||
automargin: true,
|
||||
fixedrange: true
|
||||
},
|
||||
yaxis: primaryYaxis,
|
||||
yaxis: {
|
||||
...primaryYaxis,
|
||||
type: 'log'
|
||||
},
|
||||
margin: {
|
||||
l: 5,
|
||||
r: 5,
|
||||
|
||||
@@ -62,6 +62,8 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.xValues = [];
|
||||
this.yValues = [];
|
||||
this.refreshData = this.refreshData.bind(this);
|
||||
this.setTimeContext();
|
||||
|
||||
@@ -156,7 +158,7 @@ export default {
|
||||
|
||||
const yAxisMetadata = metadata.valuesForHints(['range'])[0];
|
||||
//Exclude 'name' and 'time' based metadata specifically, from the x-Axis values by using range hints only
|
||||
const xAxisMetadata = metadata.valuesForHints(['range']);
|
||||
const xAxisMetadata = metadata.valuesForHints(['domain'])[0];
|
||||
|
||||
return {
|
||||
xAxisMetadata,
|
||||
@@ -236,29 +238,29 @@ export default {
|
||||
let yValues = [];
|
||||
|
||||
//populate X and Y values for plotly
|
||||
axisMetadata.xAxisMetadata.forEach((metadata) => {
|
||||
xValues.push(metadata.name);
|
||||
if (data[metadata.key]) {
|
||||
const formattedValue = this.format(key, metadata.key, data);
|
||||
yValues.push(formattedValue);
|
||||
} else {
|
||||
yValues.push(null);
|
||||
}
|
||||
});
|
||||
xValues.push(this.format(key, axisMetadata.xAxisMetadata.key, data));
|
||||
if (data[axisMetadata.yAxisMetadata.key]) {
|
||||
const formattedValue = this.format(key, axisMetadata.yAxisMetadata.key, data);
|
||||
yValues.push(formattedValue);
|
||||
} else {
|
||||
yValues.push(null);
|
||||
}
|
||||
|
||||
this.xValues = this.xValues.concat(xValues);
|
||||
this.yValues = this.yValues.concat(yValues);
|
||||
|
||||
const trace = {
|
||||
key,
|
||||
name: telemetryObject.name,
|
||||
x: xValues,
|
||||
y: yValues,
|
||||
x: this.xValues,
|
||||
y: this.yValues,
|
||||
text: yValues.map(String),
|
||||
xAxisMetadata: axisMetadata.xAxisMetadata,
|
||||
yAxisMetadata: axisMetadata.yAxisMetadata,
|
||||
type: 'bar',
|
||||
type: 'scatter',
|
||||
marker: {
|
||||
color: this.domainObject.configuration.barStyles.series[key].color
|
||||
},
|
||||
hoverinfo: 'skip'
|
||||
}
|
||||
};
|
||||
|
||||
this.addTrace(trace, key);
|
||||
|
||||
@@ -209,18 +209,7 @@ export default {
|
||||
},
|
||||
layoutItems: {
|
||||
handler(value) {
|
||||
let wMax = this.$el.clientWidth / this.gridSize[0];
|
||||
let hMax = this.$el.clientHeight / this.gridSize[1];
|
||||
value.forEach(item => {
|
||||
if (item.x + item.width > wMax) {
|
||||
wMax = item.x + item.width + 2;
|
||||
}
|
||||
|
||||
if (item.y + item.height > hMax) {
|
||||
hMax = item.y + item.height + 2;
|
||||
}
|
||||
});
|
||||
this.gridDimensions = [wMax * this.gridSize[0], hMax * this.gridSize[1]];
|
||||
this.updateGrid();
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
@@ -233,6 +222,8 @@ export default {
|
||||
this.composition.on('remove', this.removeChild);
|
||||
this.composition.load();
|
||||
this.gridDimensions = [this.$el.offsetWidth, this.$el.scrollHeight];
|
||||
|
||||
this.watchDisplayResize();
|
||||
},
|
||||
destroyed: function () {
|
||||
this.openmct.selection.off('change', this.setSelection);
|
||||
@@ -240,6 +231,25 @@ export default {
|
||||
this.composition.off('remove', this.removeChild);
|
||||
},
|
||||
methods: {
|
||||
updateGrid() {
|
||||
let wMax = this.$el.clientWidth / this.gridSize[0];
|
||||
let hMax = this.$el.clientHeight / this.gridSize[1];
|
||||
this.layoutItems.forEach(item => {
|
||||
if (item.x + item.width > wMax) {
|
||||
wMax = item.x + item.width + 2;
|
||||
}
|
||||
|
||||
if (item.y + item.height > hMax) {
|
||||
hMax = item.y + item.height + 2;
|
||||
}
|
||||
});
|
||||
this.gridDimensions = [wMax * this.gridSize[0], hMax * this.gridSize[1]];
|
||||
},
|
||||
watchDisplayResize() {
|
||||
const resizeObserver = new ResizeObserver(() => this.updateGrid());
|
||||
|
||||
resizeObserver.observe(this.$el);
|
||||
},
|
||||
addElement(itemType, element) {
|
||||
this.addItem(itemType + '-view', element);
|
||||
},
|
||||
@@ -404,8 +414,12 @@ export default {
|
||||
}
|
||||
},
|
||||
containsObject(identifier) {
|
||||
return _.get(this.domainObject, 'composition')
|
||||
.some(childId => this.openmct.objects.areIdsEqual(childId, identifier));
|
||||
if ('composition' in this.domainObject) {
|
||||
return this.domainObject.composition
|
||||
.some(childId => this.openmct.objects.areIdsEqual(childId, identifier));
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
handleDragOver($event) {
|
||||
if (this.domainObject.locked) {
|
||||
@@ -494,7 +508,7 @@ export default {
|
||||
}
|
||||
},
|
||||
removeFromComposition(keyString) {
|
||||
let composition = _.get(this.domainObject, 'composition');
|
||||
let composition = this.domainObject.composition ? this.domainObject.composition : [];
|
||||
composition = composition.filter(identifier => {
|
||||
return this.openmct.objects.makeKeyString(identifier) !== keyString;
|
||||
});
|
||||
|
||||
@@ -97,14 +97,7 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
if (this.frame.domainObjectIdentifier) {
|
||||
let domainObjectPromise;
|
||||
if (this.openmct.objects.supportsMutation(this.frame.domainObjectIdentifier)) {
|
||||
domainObjectPromise = this.openmct.objects.getMutable(this.frame.domainObjectIdentifier);
|
||||
} else {
|
||||
domainObjectPromise = this.openmct.objects.get(this.frame.domainObjectIdentifier);
|
||||
}
|
||||
|
||||
domainObjectPromise.then((object) => {
|
||||
this.openmct.objects.get(this.frame.domainObjectIdentifier).then((object) => {
|
||||
this.setDomainObject(object);
|
||||
});
|
||||
}
|
||||
@@ -112,10 +105,6 @@ export default {
|
||||
this.dragGhost = document.getElementById('js-fl-drag-ghost');
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.domainObject.isMutable) {
|
||||
this.openmct.objects.destroyMutable(this.domainObject);
|
||||
}
|
||||
|
||||
if (this.unsubscribeSelection) {
|
||||
this.unsubscribeSelection();
|
||||
}
|
||||
|
||||
@@ -632,8 +632,7 @@ export default {
|
||||
updateDefaultNotebook(updatedNotebookStorageObject) {
|
||||
if (!this.isDefaultNotebook()) {
|
||||
const persistedNotebookStorageObject = getDefaultNotebook();
|
||||
if (persistedNotebookStorageObject
|
||||
&& persistedNotebookStorageObject.identifier !== undefined) {
|
||||
if (persistedNotebookStorageObject.identifier !== undefined) {
|
||||
this.removeDefaultClass(persistedNotebookStorageObject.identifier);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div v-for="tick in ticks"
|
||||
:key="tick.value"
|
||||
class="gl-plot-tick gl-plot-y-tick-label"
|
||||
:style="{ top: (100 * (max - tick.value) / interval) + '%' }"
|
||||
:style="{ top: tick.top }"
|
||||
:title="tick.fullText || tick.text"
|
||||
style="margin-top: -0.50em; direction: ltr;"
|
||||
>
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
<script>
|
||||
import eventHelpers from "./lib/eventHelpers";
|
||||
import { ticks, getFormattedTicks } from "./tickUtils";
|
||||
import {d3Ticks, ticks, getFormattedTicks, d3TicksLog} from "./tickUtils";
|
||||
import configStore from "./configuration/ConfigStore";
|
||||
|
||||
export default {
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
}, this);
|
||||
}
|
||||
|
||||
return ticks(range.min, range.max, number);
|
||||
return d3Ticks(range.min, range.max, number);
|
||||
},
|
||||
|
||||
updateTicksForceRegeneration() {
|
||||
@@ -210,6 +210,27 @@ export default {
|
||||
|
||||
newTicks = getFormattedTicks(newTicks, format);
|
||||
|
||||
if (this.axisType !== 'xAxis') {
|
||||
let min = this.min;
|
||||
let max = this.max;
|
||||
newTicks = newTicks.map((tick) => {
|
||||
let value;
|
||||
if (tick.value !== 0) {
|
||||
value = (Math.log10(max) - Math.log10(tick.value)) / (Math.log10(max) - Math.log10(min)) * (100);
|
||||
}
|
||||
|
||||
if (value < 0) {
|
||||
value = -value;
|
||||
}
|
||||
|
||||
tick.top = value + '%';
|
||||
|
||||
return tick;
|
||||
});
|
||||
console.log(this.min, this.max, newTicks.map(tick => `${tick.value} + ${tick.top}`));
|
||||
|
||||
}
|
||||
|
||||
this.ticks = newTicks;
|
||||
this.shouldCheckWidth = true;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ export default {
|
||||
// Have to throw away the old canvas elements and replace with new
|
||||
// canvas elements in order to get new drawing contexts.
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = this.canvasTemplate + this.canvasTemplate;
|
||||
div.innerHTML = this.TEMPLATE;
|
||||
const mainCanvas = div.querySelectorAll("canvas")[1];
|
||||
const overlayCanvas = div.querySelectorAll("canvas")[0];
|
||||
this.canvas.parentNode.replaceChild(mainCanvas, this.canvas);
|
||||
|
||||
@@ -233,7 +233,9 @@ export default class PlotSeries extends Model {
|
||||
return this.limitEvaluator.evaluate(datum, valueMetadata);
|
||||
}.bind(this);
|
||||
const format = this.formats[newKey];
|
||||
this.getYVal = format.parse.bind(format);
|
||||
this.getYVal = (point) => {
|
||||
return Math.log(format.parse(point));
|
||||
};
|
||||
}
|
||||
|
||||
formatX(point) {
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
import * as d3Scale from 'd3-scale';
|
||||
import * as d3Axis from 'd3-axis';
|
||||
|
||||
const e10 = Math.sqrt(50);
|
||||
const e5 = Math.sqrt(10);
|
||||
const e2 = Math.sqrt(2);
|
||||
@@ -40,6 +43,33 @@ function getPrecision(step) {
|
||||
return precision;
|
||||
}
|
||||
|
||||
export function d3Ticks(start, stop, count) {
|
||||
let scale = d3Scale.scaleLinear();
|
||||
scale.domain([start, stop]);
|
||||
|
||||
const axis = d3Axis.axisLeft(scale);
|
||||
|
||||
return axis.scale().ticks(count);
|
||||
}
|
||||
|
||||
export function d3TicksLog(start, stop, count) {
|
||||
if (start < 0) {
|
||||
start = 0.1;
|
||||
}
|
||||
|
||||
let scale = d3Scale.scaleLog().domain([start, stop]);
|
||||
|
||||
const axis = d3Axis.axisBottom(scale);
|
||||
|
||||
const generatedTicks = axis.scale().ticks(count);
|
||||
if (generatedTicks.length < 1) {
|
||||
// if the difference between start, stop is small, the ticks might not be generated for log
|
||||
return d3Ticks(start, stop, count);
|
||||
}
|
||||
|
||||
return generatedTicks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Linear tick generation from d3-array.
|
||||
*/
|
||||
|
||||
@@ -32,8 +32,6 @@ define([
|
||||
}
|
||||
});
|
||||
|
||||
console.log(JSON.parse(objectString));
|
||||
|
||||
return JSON.parse(objectString);
|
||||
}
|
||||
|
||||
|
||||
@@ -95,11 +95,6 @@ export default {
|
||||
isUTCBased: timeSystem.isUTCBased
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
keyString() {
|
||||
this.setTimeContext();
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.handleNewBounds = _.throttle(this.handleNewBounds, 300);
|
||||
this.setTimeSystem(JSON.parse(JSON.stringify(this.openmct.time.timeSystem())));
|
||||
|
||||
@@ -115,11 +115,6 @@ export default {
|
||||
isUTCBased: timeSystem.isUTCBased
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
keyString() {
|
||||
this.setTimeContext();
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.handleNewBounds = _.throttle(this.handleNewBounds, 300);
|
||||
this.setTimeSystem(JSON.parse(JSON.stringify(this.openmct.time.timeSystem())));
|
||||
|
||||
@@ -105,49 +105,42 @@ export default {
|
||||
watch: {
|
||||
domainObject: {
|
||||
handler(domainObject) {
|
||||
const key = this.openmct.objects.makeKeyString(domainObject.identifier);
|
||||
if (key !== this.keyString) {
|
||||
//domain object has changed
|
||||
this.independentTCEnabled = domainObject.configuration.useIndependentTime === true;
|
||||
|
||||
if (!domainObject.configuration.timeOptions || !this.independentTCEnabled) {
|
||||
this.destroyIndependentTime();
|
||||
|
||||
this.independentTCEnabled = domainObject.configuration.useIndependentTime === true;
|
||||
this.timeOptions = domainObject.configuration.timeOptions || {
|
||||
clockOffsets: this.openmct.time.clockOffsets(),
|
||||
fixedOffsets: this.openmct.time.bounds()
|
||||
};
|
||||
return;
|
||||
}
|
||||
|
||||
this.initialize();
|
||||
if (this.timeOptions.start !== domainObject.configuration.timeOptions.start
|
||||
|| this.timeOptions.end !== domainObject.configuration.timeOptions.end) {
|
||||
this.timeOptions = domainObject.configuration.timeOptions;
|
||||
this.destroyIndependentTime();
|
||||
this.registerIndependentTimeOffsets();
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initialize();
|
||||
this.setTimeContext();
|
||||
|
||||
if (this.timeOptions.mode) {
|
||||
this.mode = this.timeOptions.mode;
|
||||
} else {
|
||||
this.timeOptions.mode = this.mode = this.timeContext.clock() === undefined ? { key: 'fixed' } : { key: Object.create(this.timeContext.clock()).key};
|
||||
}
|
||||
|
||||
if (this.independentTCEnabled) {
|
||||
this.registerIndependentTimeOffsets();
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.stopFollowingTimeContext();
|
||||
this.destroyIndependentTime();
|
||||
},
|
||||
methods: {
|
||||
initialize() {
|
||||
this.keyString = this.openmct.objects.makeKeyString(this.domainObject.identifier);
|
||||
this.setTimeContext();
|
||||
|
||||
if (this.timeOptions.mode) {
|
||||
this.mode = this.timeOptions.mode;
|
||||
} else {
|
||||
if (this.timeContext.clock() === undefined) {
|
||||
this.timeOptions.mode = this.mode = { key: 'fixed' };
|
||||
} else {
|
||||
this.timeOptions.mode = this.mode = { key: Object.create(this.timeContext.clock()).key};
|
||||
}
|
||||
}
|
||||
|
||||
if (this.independentTCEnabled) {
|
||||
this.registerIndependentTimeOffsets();
|
||||
}
|
||||
},
|
||||
toggleIndependentTC() {
|
||||
this.independentTCEnabled = !this.independentTCEnabled;
|
||||
if (this.independentTCEnabled) {
|
||||
@@ -220,9 +213,10 @@ export default {
|
||||
offsets = this.timeOptions.clockOffsets;
|
||||
}
|
||||
|
||||
const timeContext = this.openmct.time.getIndependentContext(this.keyString);
|
||||
const key = this.openmct.objects.makeKeyString(this.domainObject.identifier);
|
||||
const timeContext = this.openmct.time.getIndependentContext(key);
|
||||
if (!timeContext.hasOwnContext()) {
|
||||
this.unregisterIndependentTime = this.openmct.time.addIndependentContext(this.keyString, offsets, this.isFixed ? undefined : this.mode.key);
|
||||
this.unregisterIndependentTime = this.openmct.time.addIndependentContext(key, offsets, this.isFixed ? undefined : this.mode.key);
|
||||
} else {
|
||||
if (this.isFixed) {
|
||||
timeContext.stopClock();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
as represented by the Administrator of the National Aeronautics and Space
|
||||
Administration. All rights reserved.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Open MCT, Copyright (c) 2014-2022, United States Government
|
||||
* Open MCT, Copyright (c) 2014-2021, United States Government
|
||||
* as represented by the Administrator of the National Aeronautics and Space
|
||||
* Administration. All rights reserved.
|
||||
*
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"openmct":{"c1b7f449-459e-4f37-ac00-07b91936d079":{"identifier":{"key":"c1b7f449-459e-4f37-ac00-07b91936d079","namespace":""},"name":"A Folder","type":"folder","composition":[{"key":"3e1b49d7-4b95-47a6-9744-93d18c1f7d86","namespace":""},{"key":"da052eaf-1631-48e4-944f-c4688276181b","namespace":""}],"modified":1641506166404,"location":"mine","persisted":1641506166404},"3e1b49d7-4b95-47a6-9744-93d18c1f7d86":{"identifier":{"key":"3e1b49d7-4b95-47a6-9744-93d18c1f7d86","namespace":""},"name":"Test Clock","type":"clock","configuration":{"baseFormat":"YYYY/MM/DD hh:mm:ss","use24":"clock12","timezone":"UTC"},"modified":1641506137466,"location":"c1b7f449-459e-4f37-ac00-07b91936d079","persisted":1641506137466},"da052eaf-1631-48e4-944f-c4688276181b":{"identifier":{"key":"da052eaf-1631-48e4-944f-c4688276181b","namespace":""},"name":"B Hyperlink","type":"hyperlink","displayFormat":"link","linkTarget":"_self","url":"www.google.com","displayText":"Google","modified":1641506166402,"location":"c1b7f449-459e-4f37-ac00-07b91936d079","persisted":1641506166402}},"rootId":"c1b7f449-459e-4f37-ac00-07b91936d079"}
|
||||
@@ -1,6 +1,5 @@
|
||||
const { merge } = require('webpack-merge');
|
||||
const common = require('./webpack.common');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
@@ -15,14 +14,6 @@ module.exports = merge(common, {
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
__OPENMCT_ROOT_RELATIVE__: '"dist/"'
|
||||
}),
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [
|
||||
{
|
||||
from: './static-root.json',
|
||||
to: '.'
|
||||
}
|
||||
]
|
||||
})
|
||||
],
|
||||
devtool: 'eval-source-map'
|
||||
|
||||
Reference in New Issue
Block a user