export class TableColumn{
    data = '';
    type = '';
    options = {
        desc: {
            value: '',
            color: '',
            has: false
        }
    }
    link = undefined;
    constructor(data, type, options = {}, link = undefined) {
        this.data = data;
        this.type = type;
        this.options = options;
        this.link = link;
    };
    
    static make(data, type, options = {}, link = undefined){
        return new this(data, type, options, link);
    }
}

export class LinkOptions{
    route = '';
    options = undefined;
    css = undefined;
    constructor(route, options = undefined, css = undefined){
        this.route = route;
        this.options = options;
        this.css = css
    };

    static make(route, option = {}, css = undefined){
        return new this(route, option, css);
    }
}


export class TableRow{
    cols = [];
    options = {};
    edit = false;
    constructor(cols, options = {}, edit = false){
        this.cols = cols;
        this.options = options;
        this.edit = edit;
    };

    static make(cols, options, edit = false){
        return new this(cols, options, edit);
    }
}

export class Item {
    key = '';
    title = '';
    type = '';
    val = null;

    constructor(key, title, type, val){
        this.key = key;
        this.title = title;
        this.type = type;
        this.val = val;
    };

    static make(key, title, type, val){
        return new this(key, title, type, val);
    }
}

