@@ -229,6 +229,25 @@ public function it_allows_search_on_added_column_with_custom_filter_handler()
229
229
$ this ->assertStringContainsString ('"1" = ? ' , $ queries [1 ]['query ' ]);
230
230
}
231
231
232
+ /** @test */
233
+ public function it_allows_column_search_added_column_with_custom_filter_handler ()
234
+ {
235
+ $ crawler = $ this ->call ('GET ' , '/query/blacklisted-filter ' , [
236
+ 'columns ' => [
237
+ ['data ' => 'foo ' , 'name ' => 'foo ' , 'searchable ' => 'true ' , 'orderable ' => 'true ' , 'search ' => ['value ' => 'Record-1 ' ]],
238
+ ['data ' => 'name ' , 'name ' => 'name ' , 'searchable ' => 'true ' , 'orderable ' => 'true ' ],
239
+ ['data ' => 'email ' , 'name ' => 'email ' , 'searchable ' => 'true ' , 'orderable ' => 'true ' ],
240
+ ],
241
+ 'search ' => ['value ' => '' ],
242
+ ]);
243
+
244
+ $ crawler ->assertJson ([
245
+ 'draw ' => 0 ,
246
+ 'recordsTotal ' => 20 ,
247
+ 'recordsFiltered ' => 1 ,
248
+ ]);
249
+ }
250
+
232
251
protected function setUp (): void
233
252
{
234
253
parent ::setUp ();
@@ -264,6 +283,16 @@ protected function setUp(): void
264
283
->toJson ();
265
284
});
266
285
286
+ $ route ->get ('/query/blacklisted-filter ' , function (DataTables $ dataTable ) {
287
+ return $ dataTable ->query (DB ::table ('users ' ))
288
+ ->addColumn ('foo ' , 'bar ' )
289
+ ->filterColumn ('foo ' , function (Builder $ builder , $ keyword ) {
290
+ $ builder ->where ('name ' , $ keyword );
291
+ })
292
+ ->blacklist (['foo ' ])
293
+ ->toJson ();
294
+ });
295
+
267
296
$ route ->get ('/query/only ' , function (DataTables $ dataTable ) {
268
297
return $ dataTable ->query (DB ::table ('users ' ))
269
298
->addColumn ('foo ' , 'bar ' )
0 commit comments