{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "table_config",
    "type": "object",
    "properties": {
        "head": {
            "type": "boolean",
            "default": true
        },
        "subTotal": {
            "type": "boolean",
            "default": false
        },
        "lockableRows": {
            "type": "boolean",
            "default": false
        },
        "autoSort": {
            "type": "boolean",
            "default": false
        },
        "elementsInPage": {
            "type": "number",
            "default": 8
        },
        "stickedColumns": {
            "type": "number",
            "default": 2
        },
        "columns": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string"
                    },
                    "iconName": {
                        "type": "string"
                    },
                    "prefix": {
                        "type": "string"
                    },
                    "className": {
                        "type": "string"
                    },
                    "isSortable": {
                        "type": "boolean"
                    },
                    "isSticked": {
                        "type": "boolean"
                    },
                    "sortDesc": {
                        "type": "boolean"
                    },
                    "footerLabel": {
                        "type": "string"
                    },
                    "linkLabel": {
                        "type": "string"
                    },
                    "hasCustomClass": {
                        "type": "boolean"
                    },
                    "hasShadow": {
                        "type": "boolean"
                    },
                    "beDisabled": {
                        "type": "boolean"
                    },
                    "hasSubTotal": {
                        "type": "boolean"
                    },
                    "actions": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "key": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "tooltip": {
                                    "type": "string"
                                },
                                "tooltipKey": {
                                    "type": "string"
                                },
                                "className": {
                                    "type": "string"
                                },
                                "label": {
                                    "type": "string"
                                },
                                "hideable": {
                                    "type": "boolean"
                                },
                                "beDisabled": {
                                    "type": "boolean"
                                }
                            }
                        }
                    },
                    "params": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "value": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "default": []
        }
    }
}