@@ -80,28 +80,35 @@ function _showtable_async(table, dark)
80
80
types[i] <: Union{Missing, T where T <: Number} ? " agNumberColumnFilter" : nothing
81
81
) for (i, n) in enumerate (names)]
82
82
83
- rowinds = Observable (w, " startrow" , [1 , 100 , " " ])
84
- requestedrows = Observable (w, " requestedrows" , " []" )
85
- on (rowinds) do x
86
- requestedrows[] = table2json (rows, names, types, requested = x[1 : 2 ])
83
+ rowparams = Observable (w, " rowparams" , Dict (" startRow" => 1 ,
84
+ " endRow" => 100 ,
85
+ " successCallback" => @js v -> nothing ))
86
+ requestedrows = Observable (w, " requestedrows" , " " )
87
+ on (rowparams) do x
88
+ requestedrows[] = table2json (rows, names, types, requested = [x[" startRow" ], x[" endRow" ]])
87
89
end
88
90
89
91
onjs (requestedrows, @js function (val)
90
- $ rowinds[][ 2 ] (JSON. parse (val))
92
+ ( $ rowparams[]) . successCallback (JSON. parse (val), $ ( length (rows) ))
91
93
end )
92
94
93
95
options = Dict (
94
96
:columnDefs => coldefs,
95
- # :enableSorting => true,
96
- # :enableFilter => true,
97
+ :enableSorting => true ,
98
+ :enableFilter => true ,
99
+ :maxConcurrentDatasourceRequests => 1 ,
100
+ :cacheBlockSize => 1000 ,
101
+ :maxBlocksInCache => 100 ,
97
102
:enableColResize => true ,
98
103
:multiSortKey => " ctrl" ,
99
104
:rowModelType => " infinite" ,
100
105
:datasource => Dict (
101
106
" getRows" =>
102
107
@js function (rowParams)
103
- $ rowinds [] = [ rowParams. startRow, rowParams . endRow, rowParams . successCallback]
108
+ $ rowparams [] = rowParams
104
109
end
110
+ ,
111
+ " rowCount" => length (rows)
105
112
)
106
113
)
107
114
0 commit comments