blob: 81bebe36a71a34c8c6886f1f873eac30fc0b6328 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class MasterSlave
constructor: (selector)->
$(selector).find('[data-master]').each (i, slave)->
$slave = $(slave)
master = $($slave.data().master)
$slave.find("input:disabled, select:disabled").attr "data-slave-force-disabled", "true"
toggle = ->
val = master.filter(":checked").val() if master.filter("[type=radio]").length > 0
val ||= master.val()
selected = val == $slave.data().value
$slave.toggle selected
$slave.find("input, select").filter(":not([data-slave-force-disabled])").attr "disabled", !selected
master.change toggle
toggle()
export default MasterSlave
|