function Table()

in grafana/panels/table.js [25:91]


function Table(opts) {
    opts = opts || {};
    var self = this;

    var defaults = {
        "title": "Panel Title",
        "error": false,
        "span": 12,
        "editable": true,
        "type": "table",
        "isNew": true,
        "id": generateGraphId(),
        "styles": [
            {
                "type": "date",
                "pattern": "Time",
                "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },{
                "unit": "short",
                "type": "number",
                "decimals": 0,
                "colors": [
                    "rgba(245, 54, 54, 0.9)",
                    "rgba(237, 129, 40, 0.89)",
                    "rgba(50, 172, 45, 0.97)"
                ],
                "colorMode": null,
                "pattern": "/.*/",
                "thresholds": []
            }
        ],
        "targets": [],
        "transform": "timeseries_aggregations",
        "pageSize": null,
        "showHeader": true,
        "columns": [{
            "text": "Avg",
            "value": "avg"
        }],
        "scroll": true,
        "fontSize": "100%",
        "sort": {
            "col": 0,
            "desc": true
        },
        "links": []
    };
    this.state = defaults;

    // Overwrite defaults with custom values
    Object.keys(opts).forEach(function eachOpt(opt) {
        self.state[opt] = opts[opt];
    });

    if (opts.targets) {
        this.state.targets = [];
        opts.targets.forEach(function addT(target) {
            self.addTarget(target);
        });
    }

    // finally add to row/dashboard if given
    if (opts.row && opts.dashboard) {
        opts.row.addPanel(this);
        opts.dashboard.addRow(opts.row);
    }
}