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

Function normalizeSelection

samples/common/codehighlight/codemirror.js:4606–4622  ·  view source on GitHub ↗
(cm, ranges, primIndex)

Source from the content-addressed store, hash-verified

4604 // build a selection out of it. 'Consumes' ranges array (modifying
4605 // it).
4606 function normalizeSelection(cm, ranges, primIndex) {
4607 var mayTouch = cm && cm.options.selectionsMayTouch;
4608 var prim = ranges[primIndex];
4609 ranges.sort(function (a, b) { return cmp(a.from(), b.from()); });
4610 primIndex = indexOf(ranges, prim);
4611 for (var i = 1; i < ranges.length; i++) {
4612 var cur = ranges[i], prev = ranges[i - 1];
4613 var diff = cmp(prev.to(), cur.from());
4614 if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) {
4615 var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to());
4616 var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head;
4617 if (i <= primIndex) { --primIndex; }
4618 ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to));
4619 }
4620 }
4621 return new Selection(ranges, primIndex)
4622 }
4623
4624 function simpleSelection(anchor, head) {
4625 return new Selection([new Range(anchor, head || anchor)], 0)

Callers 8

computeSelAfterChangeFunction · 0.85
extendSelectionsFunction · 0.85
replaceOneSelectionFunction · 0.85
filterSelectionChangeFunction · 0.85
skipAtomicInSelectionFunction · 0.85
codemirror.jsFile · 0.85
leftButtonSelectFunction · 0.85
extendToFunction · 0.85

Calls 5

cmpFunction · 0.85
indexOfFunction · 0.85
minPosFunction · 0.85
maxPosFunction · 0.85
sortMethod · 0.65

Tested by

no test coverage detected