22#
33# = provides tasklist:enabled
44# = provides tasklist:disabled
5+ # = provides tasklist:changing
56# = provides tasklist:change
67#
78# = require crema/events/pageupdate
@@ -117,13 +118,15 @@ enableTaskList = ($container) ->
117118 $container.
118119 find (' .task-list-item' ).addClass (' enabled' ).
119120 find (' .task-list-item-checkbox' ).attr (' disabled' , null )
120- $container .trigger ' tasklist:enabled'
121+ $container .addClass (' is-task-list-enabled' ).
122+ trigger ' tasklist:enabled'
121123
122124disableTaskList = ($container ) ->
123125 $container.
124126 find (' .task-list-item' ).removeClass (' enabled' ).
125127 find (' .task-list-item-checkbox' ).attr (' disabled' , ' disabled' )
126- $container .trigger ' tasklist:disabled'
128+ $container .removeClass (' is-task-list-enabled' ).
129+ trigger ' tasklist:disabled'
127130
128131# Updates the $field value to reflect the state of $item.
129132# Triggers the `tasklist:change` event when the value has changed.
@@ -133,8 +136,7 @@ updateTaskList = ($item) ->
133136 index = 1 + $container .find (' .task-list-item-checkbox' ).index ($item)
134137 checked = $item .prop ' checked'
135138
136- disableTaskList $container
137-
139+ $container .trigger ' tasklist:changing' , [index, checked]
138140 $field .val updateTaskListItem ($field .val (), index, checked)
139141 $field .trigger ' change'
140142 $field .trigger ' tasklist:change' , [index, checked]
@@ -143,12 +145,15 @@ updateTaskList = ($item) ->
143145$ (document ).on ' change' , ' .task-list-item-checkbox' , ->
144146 updateTaskList $ (this )
145147
148+ # Disable a TaskList container.
146149$ (document ).on ' tasklist:disable' , ' .js-task-list-container' , (event ) ->
147150 disableTaskList $ (this )
148151
152+ # (Re)enable a TaskList container.
149153$ (document ).on ' tasklist:enable' , ' .js-task-list-container' , (event ) ->
150154 enableTaskList $ (this )
151155
156+ # When the page is updated, enable new TaskList containers.
152157$ .pageUpdate ->
153158 $ (' .js-task-list-container' ).each ->
154159 enableTaskList $ (this )
0 commit comments