71
71
def update_action_button (
72
72
id : str ,
73
73
* ,
74
- label : Optional [str ] = None ,
74
+ label : Optional [TagChild ] = None ,
75
75
icon : TagChild = None ,
76
76
disabled : Optional [bool ] = None ,
77
77
session : Optional [Session ] = None ,
@@ -104,11 +104,9 @@ def update_action_button(
104
104
"""
105
105
106
106
session = require_active_session (session )
107
- # TODO: supporting a TagChild for label would require changes to shiny.js
108
- # https://github.com/rstudio/shiny/issues/1140
109
107
msg = {
110
- "label" : label ,
111
- "icon" : session ._process_ui (icon )[ "html" ] if icon else None ,
108
+ "label" : session . _process_ui ( label ) if label else None ,
109
+ "icon" : session ._process_ui (icon ) if icon else None ,
112
110
"disabled" : disabled ,
113
111
}
114
112
session .send_input_message (id , drop_none (msg ))
@@ -119,7 +117,7 @@ def update_action_button(
119
117
def update_action_link (
120
118
id : str ,
121
119
* ,
122
- label : Optional [str ] = None ,
120
+ label : Optional [TagChild ] = None ,
123
121
icon : TagChild = None ,
124
122
session : Optional [Session ] = None ,
125
123
) -> None :
@@ -148,11 +146,9 @@ def update_action_link(
148
146
"""
149
147
150
148
session = require_active_session (session )
151
- # TODO: supporting a TagChild for label would require changes to shiny.js
152
- # https://github.com/rstudio/shiny/issues/1140
153
149
msg = {
154
- "label" : label ,
155
- "icon" : session ._process_ui (icon )[ "html" ] if icon else None ,
150
+ "label" : session . _process_ui ( label ) if label else None ,
151
+ "icon" : session ._process_ui (icon ) if icon else None ,
156
152
}
157
153
session .send_input_message (id , drop_none (msg ))
158
154
@@ -229,7 +225,7 @@ def callback() -> None:
229
225
def update_checkbox (
230
226
id : str ,
231
227
* ,
232
- label : Optional [str ] = None ,
228
+ label : Optional [TagChild ] = None ,
233
229
value : Optional [bool ] = None ,
234
230
session : Optional [Session ] = None ,
235
231
) -> None :
@@ -258,7 +254,10 @@ def update_checkbox(
258
254
"""
259
255
260
256
session = require_active_session (session )
261
- msg = {"label" : label , "value" : value }
257
+ msg = {
258
+ "label" : session ._process_ui (label ) if label else None ,
259
+ "value" : value ,
260
+ }
262
261
session .send_input_message (id , drop_none (msg ))
263
262
264
263
@@ -267,7 +266,7 @@ def update_checkbox(
267
266
def update_switch (
268
267
id : str ,
269
268
* ,
270
- label : Optional [str ] = None ,
269
+ label : Optional [TagChild ] = None ,
271
270
value : Optional [bool ] = None ,
272
271
session : Optional [Session ] = None ,
273
272
) -> None :
@@ -296,7 +295,10 @@ def update_switch(
296
295
"""
297
296
298
297
session = require_active_session (session )
299
- msg = {"label" : label , "value" : value }
298
+ msg = {
299
+ "label" : session ._process_ui (label ) if label else None ,
300
+ "value" : value ,
301
+ }
300
302
session .send_input_message (id , drop_none (msg ))
301
303
302
304
@@ -305,7 +307,7 @@ def update_switch(
305
307
def update_checkbox_group (
306
308
id : str ,
307
309
* ,
308
- label : Optional [str ] = None ,
310
+ label : Optional [TagChild ] = None ,
309
311
choices : Optional [ChoicesArg ] = None ,
310
312
selected : Optional [str | list [str ] | tuple [str , ...]] = None ,
311
313
inline : bool = False ,
@@ -357,7 +359,7 @@ def update_checkbox_group(
357
359
def update_radio_buttons (
358
360
id : str ,
359
361
* ,
360
- label : Optional [str ] = None ,
362
+ label : Optional [TagChild ] = None ,
361
363
choices : Optional [ChoicesArg ] = None ,
362
364
selected : Optional [str ] = None ,
363
365
inline : bool = False ,
@@ -408,7 +410,7 @@ def _update_choice_input(
408
410
id : str ,
409
411
* ,
410
412
type : Literal ["checkbox" , "radio" ],
411
- label : Optional [str ] = None ,
413
+ label : Optional [TagChild ] = None ,
412
414
choices : Optional [ChoicesArg ] = None ,
413
415
selected : Optional [str | list [str ] | tuple [str , ...]] = None ,
414
416
inline : bool = False ,
@@ -429,7 +431,11 @@ def _update_choice_input(
429
431
inline = inline ,
430
432
)
431
433
options = session ._process_ui (opts )["html" ]
432
- msg = {"label" : label , "options" : options , "value" : selected }
434
+ msg = {
435
+ "label" : session ._process_ui (label ) if label else None ,
436
+ "options" : options ,
437
+ "value" : selected ,
438
+ }
433
439
session .send_input_message (id , drop_none (msg ))
434
440
435
441
@@ -441,7 +447,7 @@ def _update_choice_input(
441
447
def update_date (
442
448
id : str ,
443
449
* ,
444
- label : Optional [str ] = None ,
450
+ label : Optional [TagChild ] = None ,
445
451
value : Optional [date | str ] = None ,
446
452
min : Optional [date | str ] = None ,
447
453
max : Optional [date | str ] = None ,
@@ -478,7 +484,7 @@ def update_date(
478
484
479
485
session = require_active_session (session )
480
486
msg = {
481
- "label" : label ,
487
+ "label" : session . _process_ui ( label ) if label else None ,
482
488
"value" : _as_date_attr (value ),
483
489
"min" : _as_date_attr (min ),
484
490
"max" : _as_date_attr (max ),
@@ -491,7 +497,7 @@ def update_date(
491
497
def update_date_range (
492
498
id : str ,
493
499
* ,
494
- label : Optional [str ] = None ,
500
+ label : Optional [TagChild ] = None ,
495
501
start : Optional [date | str ] = None ,
496
502
end : Optional [date | str ] = None ,
497
503
min : Optional [date | str ] = None ,
@@ -535,7 +541,7 @@ def update_date_range(
535
541
session = require_active_session (session )
536
542
value = {"start" : _as_date_attr (start ), "end" : _as_date_attr (end )}
537
543
msg = {
538
- "label" : label ,
544
+ "label" : session . _process_ui ( label ) if label else None ,
539
545
"value" : drop_none (value ),
540
546
"min" : _as_date_attr (min ),
541
547
"max" : _as_date_attr (max ),
@@ -551,7 +557,7 @@ def update_date_range(
551
557
def update_numeric (
552
558
id : str ,
553
559
* ,
554
- label : Optional [str ] = None ,
560
+ label : Optional [TagChild ] = None ,
555
561
value : Optional [float ] = None ,
556
562
min : Optional [float ] = None ,
557
563
max : Optional [float ] = None ,
@@ -589,7 +595,7 @@ def update_numeric(
589
595
590
596
session = require_active_session (session )
591
597
msg = {
592
- "label" : label ,
598
+ "label" : session . _process_ui ( label ) if label else None ,
593
599
"value" : value ,
594
600
"min" : min ,
595
601
"max" : max ,
@@ -606,7 +612,7 @@ def update_numeric(
606
612
def update_select (
607
613
id : str ,
608
614
* ,
609
- label : Optional [str ] = None ,
615
+ label : Optional [TagChild ] = None ,
610
616
choices : Optional [SelectChoicesArg ] = None ,
611
617
selected : Optional [str | list [str ]] = None ,
612
618
session : Optional [Session ] = None ,
@@ -652,12 +658,10 @@ def update_select(
652
658
options = None
653
659
else :
654
660
option_tags = _render_choices (_normalize_choices (choices ), selected )
655
- # Typing problem due to a bug in pylance:
656
- # https://github.com/microsoft/pylance-release/issues/2377
657
- options = session ._process_ui (option_tags )["html" ] # type: ignore
661
+ options = session ._process_ui (option_tags )["html" ]
658
662
659
663
msg = {
660
- "label" : label ,
664
+ "label" : session . _process_ui ( label ) if label else None ,
661
665
"options" : options ,
662
666
"value" : selected_values ,
663
667
}
@@ -675,7 +679,7 @@ class FlatSelectChoice(TypedDict):
675
679
def update_selectize (
676
680
id : str ,
677
681
* ,
678
- label : Optional [str ] = None ,
682
+ label : Optional [TagChild ] = None ,
679
683
choices : Optional [SelectChoicesArg ] = None ,
680
684
selected : Optional [str | list [str ]] = None ,
681
685
options : Optional [dict [str , str | float | JSEval ]] = None ,
@@ -854,7 +858,7 @@ def selectize_choices_json(request: Request) -> Response:
854
858
def update_slider (
855
859
id : str ,
856
860
* ,
857
- label : Optional [str ] = None ,
861
+ label : Optional [TagChild ] = None ,
858
862
value : Optional [SliderValueArg | tuple [SliderValueArg , SliderValueArg ]] = None ,
859
863
min : Optional [SliderValueArg ] = None ,
860
864
max : Optional [SliderValueArg ] = None ,
@@ -928,7 +932,7 @@ def update_slider(
928
932
value_num = None
929
933
930
934
msg = {
931
- "label" : label ,
935
+ "label" : session . _process_ui ( label ) if label else None ,
932
936
"value" : value_num ,
933
937
"min" : min_num ,
934
938
"max" : max_num ,
@@ -948,7 +952,7 @@ def update_slider(
948
952
def update_text (
949
953
id : str ,
950
954
* ,
951
- label : Optional [str ] = None ,
955
+ label : Optional [TagChild ] = None ,
952
956
value : Optional [str ] = None ,
953
957
placeholder : Optional [str ] = None ,
954
958
session : Optional [Session ] = None ,
@@ -980,7 +984,11 @@ def update_text(
980
984
"""
981
985
982
986
session = require_active_session (session )
983
- msg = {"label" : label , "value" : value , "placeholder" : placeholder }
987
+ msg = {
988
+ "label" : session ._process_ui (label ) if label else None ,
989
+ "value" : value ,
990
+ "placeholder" : placeholder ,
991
+ }
984
992
session .send_input_message (id , drop_none (msg ))
985
993
986
994
0 commit comments