/**
 * 下拉Group List
 * @author xiufu.wang
 */
import selectDatasourceMixin from 'mars-pro/packages/pro-select/src/mixins/select-datasource';
import selectBaseMixin from 'mars-pro/packages/pro-select/src/mixins/select-base';
import ProSelectGroupOptionList from './gourp-option-list';
import { arrayToGroupList } from 'mars-pro/src/pro/array-groups';

export default {
    name: 'ProSelectGrouplist',
    componentName: 'ProSelectGrouplist',
    inheritAttrs: false,
    mixins: [selectBaseMixin, selectDatasourceMixin],
    components: {
        ProSelectGroupOptionList
    },
    props: {
        enableVirtualList: {
            type: Boolean,
            default: true
        },
        //分组字段
        forgroup: {
            type: String,
            default: 'group'
        },
    },
    computed: {
        // 是否启用虚拟列表
        isEnableVirtualList() {
            const datas = this.filterDatas || []
            return this.enableVirtualList !== false && datas.length > 100
        },
        filterDatas() {
            return arrayToGroupList(selectDatasourceMixin.computed.filterDatas.call(this), this.forgroup)
        },
        isShowSearch() {
            return this.showSearch
        }
    },
    render() {
        const content = <ProSelectGroupOptionList />
        return this.renderSelectWapper(content, {})
    }
}