import SFormItem from "./form-item";

export default {
    name: 's-form',
    components: {
        SFormItem,
    },
    props: {
        formItems: {
            type: Array,
            default() {
                return []
            }
        },
        formLayout: {
            type: Array,
            default() {
                return []
            }
        },
        labelWidth: {
            type: Number,
            default: 80
        },
        resourcePath: {
            required: true
        },
        props: {
            type: Object,
            default() {
                return {
                    list: 'content',
                    total: 'totalElements',
                    id: 'id'
                }
            }
        },
        enums: {
            default() {
                return {}
            }
        },
    },
    provide() {
        return {
            FormRoot: this
        }
    },
    data() {
        return {
            formModel: {},
            formItemArray: this.formItems,
            rules: {},
            disabled: {},
            hidden: {},
            activeTab: undefined,
            hasCollection: false,
            oneToMany: false,
            modelSelection: {},
            disabledCancel: true,
            loadingSubmit: false,
            disabledSubmit: true,
            changed: {},
            id: undefined,
            lastFormModel: {}
        }
    },
    computed: {
        gutter() {
            return 32
        },
    }
}
