MCPcopy Create free account
hub / github.com/TruthHun/BookStack / alignChunks

Function alignChunks

static/editor.md/lib/codemirror/addon/merge/merge.js:331–361  ·  view source on GitHub ↗
(dv, force)

Source from the content-addressed store, hash-verified

329 }
330
331 function alignChunks(dv, force) {
332 if (!dv.dealigned && !force) return;
333 if (!dv.orig.curOp) return dv.orig.operation(function() {
334 alignChunks(dv, force);
335 });
336
337 dv.dealigned = false;
338 var other = dv.mv.left == dv ? dv.mv.right : dv.mv.left;
339 if (other) {
340 ensureDiff(other);
341 other.dealigned = false;
342 }
343 var linesToAlign = findAlignedLines(dv, other);
344
345 // Clear old aligners
346 var aligners = dv.mv.aligners;
347 for (var i = 0; i < aligners.length; i++)
348 aligners[i].clear();
349 aligners.length = 0;
350
351 var cm = [dv.orig, dv.edit], scroll = [];
352 if (other) cm.push(other.orig);
353 for (var i = 0; i < cm.length; i++)
354 scroll.push(cm[i].getScrollInfo().top);
355
356 for (var ln = 0; ln < linesToAlign.length; ln++)
357 alignLines(cm, linesToAlign[ln], aligners);
358
359 for (var i = 0; i < cm.length; i++)
360 cm[i].scrollTo(null, scroll[i]);
361 }
362
363 function alignLines(cm, lines, aligners) {
364 var maxOffset = 0, offset = [];

Callers 2

updateFunction · 0.85
merge.jsFile · 0.85

Calls 3

ensureDiffFunction · 0.85
findAlignedLinesFunction · 0.85
alignLinesFunction · 0.85

Tested by

no test coverage detected