Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <script setup lang="ts"> import { computed, inject } from 'vue' import { useNodeExecutionStatus } from '@/composables/node/useNodeExecutionStatus' import type { useNodeInfoPopup } from '@/composables/node/useNodeInfoPopup' interface Props { nodeId: string } const props = defineProps<Props>() const executionStatus = useNodeExecutionStatus() const executionTime = computed(() => { const time = executionStatus.getNodeExecutionTime(props.nodeId) return time ? executionStatus.formatExecutionTime(time) : null }) // Inject popup state from BaseNode const popupState = inject<ReturnType<typeof useNodeInfoPopup>>('nodePopupState')! const { hasInput, hasOutput, showInputPopup, showTimePopup, showOutputPopup, activeTab } = popupState </script> <template> <div v-if="executionTime || hasInput() || hasOutput()" class="node-info-tags"> <span v-if="hasInput()" class="info-tag input" :class="{ active: activeTab !== null && activeTab === 'input' }" @click="showInputPopup" > Input </span> <span v-if="executionTime" class="info-tag time" :class="{ active: activeTab !== null && activeTab === 'time' }" @click="showTimePopup" > {{ executionTime }} </span> <span v-if="hasOutput()" class="info-tag output" :class="{ active: activeTab !== null && activeTab === 'output' }" @click="showOutputPopup" > Output </span> </div> </template> <style lang="scss" scoped> @use '@/styles/nodes/node-info-tags' as *; @include node-info-tags(); </style> |