| 2025 | } |
| 2026 | |
| 2027 | function fireCallbacksForOps(group) { |
| 2028 | // Calls delayed callbacks and cursorActivity handlers until no |
| 2029 | // new ones appear |
| 2030 | var callbacks = group.delayedCallbacks, i = 0; |
| 2031 | do { |
| 2032 | for (; i < callbacks.length; i++) |
| 2033 | { callbacks[i].call(null); } |
| 2034 | for (var j = 0; j < group.ops.length; j++) { |
| 2035 | var op = group.ops[j]; |
| 2036 | if (op.cursorActivityHandlers) |
| 2037 | { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) |
| 2038 | { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } |
| 2039 | } |
| 2040 | } while (i < callbacks.length) |
| 2041 | } |
| 2042 | |
| 2043 | function finishOperation(op, endCb) { |
| 2044 | var group = op.ownsGroup; |