<template>
    <variable-list v-model="selected" type="single" :vars="vars" :filter="filter" @update:modelValue="handleSelect" />
</template>
<script lang="ts">
import { ref } from 'vue';
import VariableList from '../VariableList.vue';
import { useFlowEditorStore } from 'src/stores/flowEditor';
import { IActionVariable } from 'src/types/ActionTypes';
export default {
    name: 'VariableAdd',
    components: {
        VariableList,
    },
    props: {
        appId: Number,
        filter: String
    },
    setup(props, { emit }) {
        const store = useFlowEditorStore();
        let vars: IActionVariable[] = [];
        console.log(store.currentFlow !== undefined && store.activeNode !== undefined);
        
        if (store.currentFlow !== undefined && store.activeNode !== undefined) {
            vars = store.currentFlow.getVarNames(store.activeNode);
        }
        return {
            vars,
            selected: ref([]),
            handleSelect: (newSelection: any[]) => {
                if (newSelection.length > 0) {
                    const v = newSelection[0];
                    let name = v.name
                    if (typeof name === 'object') {
                        name = name.name
                    }
                    emit('select', { _t: `var(${name})`, ...v }); // 假设您只需要选择的第一个字段的名称
                }
            }
        }
    },
}
</script>