var component =
    {
        //extends: BaseDataComponent,
        template: '#template-name#',
        //inheritAttrs: false,
        props: [
            'element',
            'autoHideFieldName',
            'autoHideFieldValue',
            'autoDisableFieldName',
            'autoDisableFieldValue',
            'cid'
        ],
        // data: function () {
        //     return {
        //         element_: [],
        //         clearActions_: false,
        //         autoHideFieldName_: '',
        //         autoHideFieldValue_: '',
        //         autoDisableFieldName_: '',
        //         autoDisableFieldValue_: ''
        //     };
        // },
        created: function () {
            this.clearActions = false;
        },
        methods: {
            hiddenClass: function () {
                if (this.autoHideFieldName &&
                    typeof this.$attrs.data != 'undefined' &&
                    this.$attrs.data[this.autoHideFieldName] == this.autoHideFieldValue)
                {
                    this.clearActions = true;
                    return 'hidden';
                }
                
                return '';
            },
            disabledClass: function () {
                
                if (this.autoDisableFieldName &&
                    typeof this.$attrs.data != 'undefined' &&
                    this.$attrs.data[this.autoDisableFieldName] == this.autoDisableFieldValue)
                {
                    this.clearActions = true;
                    return 'disabled';
                }
                
                return '';
            }
        },
        computed: {
            params_: function () {
                let element = this.element;
                element.slots['class'] = this.disabledClass() + " " + this.hiddenClass();
                
                
                return {
                    ...element.slots,
                    ...this.$attrs,
                    ...{
                        actions: this.clearActions ? {} : element.slots['actions'],
                    },
                };
            },
            cid_: function() {
                return this.cid;
            }
        }
    }