remove eventemitter and use native custom events

This commit is contained in:
Scott Bell 2025-03-07 12:01:26 +01:00
parent 55d15caa63
commit 8545ddeaff
3 changed files with 43 additions and 21 deletions

View File

@ -136,9 +136,8 @@ export default {
this.resize = _.debounce(this.resize, 400);
this.eventStripResizeObserver = new ResizeObserver(this.resize);
this.eventStripResizeObserver.observe(this.$refs.events);
this.extendedLinesBus.on('disable-extended-lines', this.disableExtendEventLines);
this.extendedLinesBus.on('enable-extended-lines', this.enableExtendEventLines);
this.extendedLinesBus.addEventListener('disable-extended-lines', this.disableExtendEventLines);
this.extendedLinesBus.addEventListener('enable-extended-lines', this.enableExtendEventLines);
},
beforeUnmount() {
if (this.eventStripResizeObserver) {
@ -153,9 +152,11 @@ export default {
this.destroyEventContainer();
}
this.extendedLinesBus.off('disable-extended-lines', this.disableExtendEventLines);
this.extendedLinesBus.off('enable-extended-lines', this.enableExtendEventLines);
this.extendedLinesBus.off('event-hovered', this.checkIfOurEvent);
this.extendedLinesBus.removeEventListener(
'disable-extended-lines',
this.disableExtendEventLines
);
this.extendedLinesBus.removeEventListener('enable-extended-lines', this.enableExtendEventLines);
},
methods: {
setTimeContext() {
@ -164,16 +165,17 @@ export default {
this.timeContext.on('timeSystem', this.setScaleAndPlotEvents);
this.timeContext.on('boundsChanged', this.updateViewBounds);
},
enableExtendEventLines(keyStringToEnable) {
enableExtendEventLines(event) {
const keyStringToEnable = event.detail;
if (this.keyString === keyStringToEnable) {
this.extendLines = true;
this.emitExtendedLines();
}
},
disableExtendEventLines(keyStringToDisable) {
disableExtendEventLines(event) {
const keyStringToDisable = event.detail;
if (this.keyString === keyStringToDisable) {
this.extendLines = false;
// emit an empty array to clear the lines
this.emitExtendedLines();
}
},

View File

@ -20,18 +20,36 @@
* at runtime from the About dialog for additional information.
*****************************************************************************/
import { EventEmitter } from 'eventemitter3';
export default class ExtendedLinesBus extends EventEmitter {
export default class ExtendedLinesBus extends EventTarget {
updateExtendedLines(keyString, lines) {
this.emit('update-extended-lines', { lines, keyString });
this.dispatchEvent(
new CustomEvent('update-extended-lines', {
detail: { keyString, lines }
})
);
}
disableExtendEventLines(keyString) {
this.emit('disable-extended-lines', keyString);
this.dispatchEvent(
new CustomEvent('disable-extended-lines', {
detail: keyString
})
);
}
enableExtendEventLines(keyString) {
this.emit('enable-extended-lines', keyString);
this.dispatchEvent(
new CustomEvent('enable-extended-lines', {
detail: keyString
})
);
}
updateHoverExtendEventLine(keyString, id) {
this.emit('update-extended-hover', { id, keyString });
this.dispatchEvent(
new CustomEvent('update-extended-hover', {
detail: { keyString, id }
})
);
}
}

View File

@ -127,16 +127,16 @@ export default {
this.stopFollowingTimeContext();
this.handleContentResize.cancel();
this.contentResizeObserver.disconnect();
this.extendedLinesBus.off('update-extended-lines', this.updateExtendedLines);
this.extendedLinesBus.off('update-extended-hover', this.updateExtendedHover);
this.openmct.selection.off('change', this.checkForLineSelection);
this.extendedLinesBus.removeEventListener('update-extended-lines', this.updateExtendedLines);
this.extendedLinesBus.removeEventListener('update-extended-hover', this.updateExtendedHover);
},
mounted() {
this.items = [];
this.setTimeContext();
this.extendedLinesBus.on('update-extended-lines', this.updateExtendedLines);
this.extendedLinesBus.on('update-extended-hover', this.updateExtendedHover);
this.extendedLinesBus.addEventListener('update-extended-lines', this.updateExtendedLines);
this.extendedLinesBus.addEventListener('update-extended-hover', this.updateExtendedHover);
this.openmct.selection.on('change', this.checkForLineSelection);
if (this.composition) {
@ -271,10 +271,12 @@ export default {
this.timeContext.off('clockChanged', this.updateViewBounds);
}
},
updateExtendedLines({ keyString, lines }) {
updateExtendedLines(event) {
const { keyString, lines } = event.detail;
this.extendedLinesPerKey[keyString] = lines;
},
updateExtendedHover({ keyString, id }) {
updateExtendedHover(event) {
const { keyString, id } = event.detail;
this.extendedLineHover = { keyString, id };
},
checkForLineSelection(selection) {