From eeda4c62fcfd188de68a30b03eb799c000e35bb7 Mon Sep 17 00:00:00 2001 From: David Tsay Date: Wed, 17 Apr 2024 10:46:34 -0700 Subject: [PATCH] forgot to push useTimeSystem --- .../timeConductor/ConductorComponent.vue | 1 + src/plugins/timeConductor/useTimeSystem.js | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/plugins/timeConductor/useTimeSystem.js diff --git a/src/plugins/timeConductor/ConductorComponent.vue b/src/plugins/timeConductor/ConductorComponent.vue index 7c0ae34149..46ffe5bcf6 100644 --- a/src/plugins/timeConductor/ConductorComponent.vue +++ b/src/plugins/timeConductor/ConductorComponent.vue @@ -92,6 +92,7 @@ import ConductorPopUp from './ConductorPopUp.vue'; import conductorPopUpManager from './conductorPopUpManager.js'; import ConductorTimeSystem from './ConductorTimeSystem.vue'; import { useTimeSystem } from './useTimeSystem.js'; + const DEFAULT_DURATION_FORMATTER = 'duration'; export default { diff --git a/src/plugins/timeConductor/useTimeSystem.js b/src/plugins/timeConductor/useTimeSystem.js new file mode 100644 index 0000000000..e52b623461 --- /dev/null +++ b/src/plugins/timeConductor/useTimeSystem.js @@ -0,0 +1,47 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2024, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + +import { onBeforeUnmount, ref } from 'vue'; + +export function useTimeSystem(openmct, options) { + let stopObservingTimeSystem; + + const currentTimeSystem = openmct.time.getTimeSystem(); + + const timeSystemKey = ref(currentTimeSystem.key); + + onBeforeUnmount(() => stopObservingTimeSystem?.()); + + function observeTimeSystem() { + openmct.time.on('timeSystemChanged', updateTimeSystem); + stopObservingTimeSystem = () => openmct.time.off('timeSystem', updateTimeSystem); + } + + function updateTimeSystem(timeSystem) { + timeSystemKey.value = timeSystem.key; + } + + return { + observeTimeSystem, + timeSystemKey + }; +}