diff --git a/src/components/MiniWidgetContainer.vue b/src/components/MiniWidgetContainer.vue index ddc2c31ef..5c1363aeb 100644 --- a/src/components/MiniWidgetContainer.vue +++ b/src/components/MiniWidgetContainer.vue @@ -16,6 +16,7 @@
@@ -64,7 +65,8 @@ import { ref, toRefs } from 'vue' import { computed } from 'vue' import { VueDraggable } from 'vue-draggable-plus' -import type { MiniWidget, MiniWidgetContainer } from '@/types/miniWidgets' +import { CurrentlyLoggedVariables } from '@/libs/sensors-logging' +import type { DraggableEvent, MiniWidget, MiniWidgetContainer } from '@/types/miniWidgets' import MiniWidgetInstantiator from './MiniWidgetInstantiator.vue' @@ -115,4 +117,13 @@ const refreshWidgetsHashs = (): void => { const showWidgetTrashArea = ref(false) const trashList = ref([]) + +const handleDeleteWidget = (event: DraggableEvent): void => { + const widgetData = container.value.widgets.find((w) => w.hash === event.item.dataset.widgetHash) + if (widgetData) { + // Remove miniWidget variableName from Logged variables list + CurrentlyLoggedVariables.removeVariable(widgetData.options.displayName) + } + trashList.value = [] +} diff --git a/src/types/miniWidgets.ts b/src/types/miniWidgets.ts index e5e7ec01b..cad5039c7 100644 --- a/src/types/miniWidgets.ts +++ b/src/types/miniWidgets.ts @@ -75,3 +75,10 @@ export type MiniWidgetProfile = { */ name: string } + +export type DraggableEvent = { + /** + * The HTML item that is being dragged + */ + item: HTMLElement +}