 $blab.sheet['q'].rowHeaders = ['one','two']
 $blab.sheet['q'].colHeaders = ['i','ii','iii','iv','v','vi']
 
-
-
-
 # slider
 
 slid = (id) -> new Slider

    fig1: fig1()
    fig2: fig2()

console.log $blab.slider["z"].stringify()

# user code

compute = ()->

    ## pre-code

    # refresh sink sheets
    for sl of $blab.slider
        $blab.slider[sl].update()

    #console.log "z???", $blab.sheet["z"].data

    # local copy of vars 
    for sh of $blab.sheet
        #console.log "sh", sh
        $blab.sheet[sh].toLocal()

    ## user code

    fn = (A, x) ->
        A.dot x

        container = $("[data-sym=#{@spec.id}][data-type='table']")[0]

        @defaults =
            data: @sheet.spec.data
            afterChange: (change, source) =>
                compute() if source is "edit" and @sheet.spec.compute
            columns: ({type: 'numeric'} for k in [1..@sheet.spec.data[0].length])
            rowHeaders: @sheet.rowHeaders
            colHeaders: @sheet.colHeaders
            contextMenu: false

        @table = new Handsontable container, $.extend({}, @defaults, @spec)

    update: ->
        @table.loadData @sheet.spec.data
        @table.render()
        

