@@ -357,21 +357,23 @@ def __init__(
357357class ActionButton :
358358 def __init__ (
359359 self ,
360+ text ,
360361 url ,
361- text = None ,
362362 icon = None ,
363363 additional_classes = "" ,
364+ override_classes = "" ,
364365 message = "" ,
365- append_id = False ,
366366 ignore_attribute_plugin = False ,
367+ name = "" ,
367368 ):
368- self .url = url
369369 self .text = text
370+ self .url = url
370371 self .icon = icon
371372 self .additional_classes = additional_classes
373+ self .override_classes = override_classes
372374 self .message = message
373- self .append_id = append_id
374375 self .ignore_attribute_plugin = ignore_attribute_plugin
376+ self .name = name
375377
376378
377379class Grid :
@@ -713,8 +715,10 @@ def _handle_mode_select(self):
713715 search_type = safe_int (request .query .get ("search_type" , 0 ), default = 0 )
714716 search_string = request .query .get ("search_string" )
715717 if search_type < len (self .param .search_queries ) and search_string :
716- _ , query_lambda , requires = self .param .search_queries [search_type ]
717- if requires :
718+ parts = self .param .search_queries [search_type ]
719+ query_lambda = parts [1 ]
720+ if len (parts ) == 3 and parts [2 ]:
721+ requires = parts [2 ]
718722 search_string , self .search_query_error = requires (search_string )
719723 if not self .search_query_error :
720724 try :
@@ -912,11 +916,9 @@ def _make_action_button(
912916 url ,
913917 button_text ,
914918 icon ,
915- icon_size = "small" , # deprecated
916919 additional_classes = None ,
917920 override_classes = None ,
918921 message = None ,
919- onclick = None , # deprecated
920922 row_id = None ,
921923 name = "grid-button" ,
922924 row = None ,
@@ -1172,14 +1174,13 @@ def make_action_buttons(self, row):
11721174 continue
11731175 cat .append (
11741176 self ._make_action_button (
1175- url = btn .url ,
1177+ url = btn .url . format ( row_id = row_id ) ,
11761178 button_text = self .T (btn .text ),
1177- icon = getattr (btn , "icon" , None ),
1178- additional_classes = getattr (btn , "additional_classes" , None ),
1179- override_classes = getattr (btn , "override_classes" , None ),
1180- message = getattr (btn , "message" , None ),
1181- row_id = row_id if getattr (btn , "append_id" , None ) else None ,
1182- name = getattr (btn , "name" , None ),
1179+ icon = btn .icon ,
1180+ additional_classes = btn .additional_classes ,
1181+ override_classes = btn .override_classes ,
1182+ message = btn .message ,
1183+ name = btn .name ,
11831184 row = row ,
11841185 )
11851186 )
@@ -1244,14 +1245,13 @@ def make_action_buttons(self, row):
12441245 continue
12451246 cat .append (
12461247 self ._make_action_button (
1247- url = btn .url ,
1248+ url = btn .url . format ( row_id = row_id ) ,
12481249 button_text = self .T (btn .text ),
1249- icon = getattr (btn , "icon" , None ),
1250- additional_classes = getattr (btn , "additional_classes" , None ),
1251- override_classes = getattr (btn , "override_classes" , None ),
1252- message = getattr (btn , "message" , None ),
1253- row_id = row_id if getattr (btn , "append_id" , None ) else None ,
1254- name = getattr (btn , "name" , None ),
1250+ icon = btn .icon ,
1251+ additional_classes = btn .additional_classes ,
1252+ override_classes = btn .override_classes ,
1253+ message = btn .message ,
1254+ name = btn .name ,
12551255 row = row ,
12561256 )
12571257 )
0 commit comments