Batch returns the function value

* Emit only one event for nested batches
This commit is contained in:
Antonio Scandurra
2015-02-26 10:50:43 +01:00
parent fdcbb9c8ff
commit 0ce3c49688

View File

@@ -1146,9 +1146,13 @@ class TextEditor extends Model
@batch => @buffer.transact(groupingInterval, fn)
batch: (fn) ->
@emitter.emit "will-start-batch-operation"
fn()
@emitter.emit "did-finish-batch-operation"
@batchCount++
@emitter.emit "will-start-batch-operation" if @batchCount == 1
value = fn()
@emitter.emit "did-finish-batch-operation" if @batchCount == 1
@batchCount--
value
onWillStartBatchOperation: (callback) ->
@emitter.on "will-start-batch-operation", callback