File tree 2 files changed +14
-6
lines changed
2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ export default class extends Controller {
9
9
10
10
static targets = [
11
11
"input" ,
12
- "toggle " ,
12
+ "toggleAll " ,
13
13
"popover" ,
14
14
"item" ,
15
15
"emptyState" ,
@@ -34,14 +34,17 @@ export default class extends Controller {
34
34
if ( e . target . type == "radio" ) {
35
35
this . closePopover ( )
36
36
}
37
+
38
+ const isToggleAllUnchecked = this . hasToggleAllTarget && ! e . target . checked
39
+ if ( isToggleAllUnchecked ) this . toggleAllTarget . checked = false
37
40
}
38
41
39
42
inputContent ( input ) {
40
43
return input . dataset . text || input . parentElement . innerText
41
44
}
42
45
43
- toggleInputs ( ) {
44
- const isChecked = this . toggleTarget . checked
46
+ toggleAllItems ( ) {
47
+ const isChecked = this . toggleAllTarget . checked
45
48
this . inputTargets . forEach ( input => input . checked = isChecked )
46
49
this . updateTriggerContent ( )
47
50
}
Original file line number Diff line number Diff line change 3
3
module RubyUI
4
4
class ComboboxToggleAllCheckbox < Base
5
5
def view_template
6
- render RubyUI :: ComboboxCheckbox . new ( **attrs )
6
+ input ( type : "checkbox" , **attrs )
7
7
end
8
8
9
9
private
10
10
11
11
def default_attrs
12
12
{
13
+ class : [
14
+ "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background accent-primary" ,
15
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" ,
16
+ "disabled:cursor-not-allowed disabled:opacity-50"
17
+ ] ,
13
18
data : {
14
- ruby_ui__combobox_target : "toggle " ,
15
- action : "change->ruby-ui--combobox#toggleInputs "
19
+ ruby_ui__combobox_target : "toggleAll " ,
20
+ action : "change->ruby-ui--combobox#toggleAllItems "
16
21
}
17
22
}
18
23
end
You can’t perform that action at this time.
0 commit comments