Skip to content
This repository was archived by the owner on Oct 19, 2022. It is now read-only.

Commit d1c9645

Browse files
authored
Merge pull request #23 from fatihacet/line-source-number
Pass lineNumber and lineSource in changed event
2 parents 007fdec + 9ec942a commit d1c9645

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

app/assets/javascripts/task_list.coffee

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,18 @@ class TaskList
149149
@field.dispatchEvent changeEvent
150150

151151
unless changeEvent.defaultPrevented
152-
@field.value = TaskList.updateSource(@field.value, index, item.checked)
152+
{ result, lineNumber, lineSource } =
153+
TaskList.updateSource(@field.value, index, item.checked)
154+
155+
@field.value = result
153156
changeEvent = createEvent 'change'
154157
@field.dispatchEvent changeEvent
155-
changedEvent = createEvent 'tasklist:changed',
158+
changedEvent = createEvent 'tasklist:changed', {
156159
index: index
157160
checked: item.checked
161+
lineNumber: lineNumber
162+
lineSource: lineSource
163+
}
158164
@field.dispatchEvent changedEvent
159165

160166
# Static interface
@@ -220,7 +226,10 @@ class TaskList
220226
split("\n")
221227
index = 0
222228
inCodeBlock = false
223-
result = for line in source.split("\n")
229+
lineNumber
230+
lineSource
231+
232+
result = for line, i in source.split("\n")
224233
if inCodeBlock
225234
# Lines inside of a code block are ignored.
226235
if line.match(@endFencesPattern)
@@ -232,13 +241,19 @@ class TaskList
232241
else if line in clean && line.match(@itemPattern)
233242
index += 1
234243
if index == itemIndex
244+
lineNumber = i + 1
245+
lineSource = line
235246
line =
236247
if checked
237248
line.replace(@incompletePattern, @complete)
238249
else
239250
line.replace(@completePattern, @incomplete)
240251
line
241-
result.join("\n")
252+
return {
253+
result: result.join("\n")
254+
lineNumber: lineNumber
255+
lineSource: lineSource
256+
}
242257

243258
if typeof jQuery != 'undefined'
244259
jQuery.fn.taskList = (method) ->

0 commit comments

Comments
 (0)