MCPcopy Index your code
hub / github.com/DHTMLX/gantt / regChange

Function regChange

samples/common/codehighlight/codemirror.js:2992–3053  ·  view source on GitHub ↗
(cm, from, to, lendiff)

Source from the content-addressed store, hash-verified

2990 // lines are divided into visual lines. regLineChange (below)
2991 // registers single-line changes.
2992 function regChange(cm, from, to, lendiff) {
2993 if (from == null) { from = cm.doc.first; }
2994 if (to == null) { to = cm.doc.first + cm.doc.size; }
2995 if (!lendiff) { lendiff = 0; }
2996
2997 var display = cm.display;
2998 if (lendiff && to < display.viewTo &&
2999 (display.updateLineNumbers == null || display.updateLineNumbers > from))
3000 { display.updateLineNumbers = from; }
3001
3002 cm.curOp.viewChanged = true;
3003
3004 if (from >= display.viewTo) { // Change after
3005 if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)
3006 { resetView(cm); }
3007 } else if (to <= display.viewFrom) { // Change before
3008 if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {
3009 resetView(cm);
3010 } else {
3011 display.viewFrom += lendiff;
3012 display.viewTo += lendiff;
3013 }
3014 } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap
3015 resetView(cm);
3016 } else if (from <= display.viewFrom) { // Top overlap
3017 var cut = viewCuttingPoint(cm, to, to + lendiff, 1);
3018 if (cut) {
3019 display.view = display.view.slice(cut.index);
3020 display.viewFrom = cut.lineN;
3021 display.viewTo += lendiff;
3022 } else {
3023 resetView(cm);
3024 }
3025 } else if (to >= display.viewTo) { // Bottom overlap
3026 var cut$1 = viewCuttingPoint(cm, from, from, -1);
3027 if (cut$1) {
3028 display.view = display.view.slice(0, cut$1.index);
3029 display.viewTo = cut$1.lineN;
3030 } else {
3031 resetView(cm);
3032 }
3033 } else { // Gap in the middle
3034 var cutTop = viewCuttingPoint(cm, from, from, -1);
3035 var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1);
3036 if (cutTop && cutBot) {
3037 display.view = display.view.slice(0, cutTop.index)
3038 .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))
3039 .concat(display.view.slice(cutBot.index));
3040 display.viewTo += lendiff;
3041 } else {
3042 resetView(cm);
3043 }
3044 }
3045
3046 var ext = display.externalMeasured;
3047 if (ext) {
3048 if (to < ext.lineN)
3049 { ext.lineN += lendiff; }

Callers 11

updateGuttersFunction · 0.85
resetModeStateFunction · 0.85
attachDocFunction · 0.85
directionChangedFunction · 0.85
shiftDocFunction · 0.85
codemirror.jsFile · 0.85
markTextFunction · 0.85
defineOptionsFunction · 0.85
wrappingChangedFunction · 0.85
addEditorMethodsFunction · 0.85

Calls 5

visualLineNoFunction · 0.85
resetViewFunction · 0.85
visualLineEndNoFunction · 0.85
viewCuttingPointFunction · 0.85
buildViewArrayFunction · 0.85

Tested by

no test coverage detected