MCPcopy Index your code
hub / github.com/angular-ui/ui-router / createIsSelectedFn

Function createIsSelectedFn

test/angular/1.3/angular.js:26041–26074  ·  view source on GitHub ↗
(viewValue)

Source from the content-addressed store, hash-verified

26039 }
26040
26041 function createIsSelectedFn(viewValue) {
26042 var selectedSet;
26043 if (multiple) {
26044 if (trackFn && isArray(viewValue)) {
26045
26046 selectedSet = new HashMap([]);
26047 for (var trackIndex = 0; trackIndex < viewValue.length; trackIndex++) {
26048 // tracking by key
26049 selectedSet.put(callExpression(trackFn, null, viewValue[trackIndex]), true);
26050 }
26051 } else {
26052 selectedSet = new HashMap(viewValue);
26053 }
26054 } else if (trackFn) {
26055 viewValue = callExpression(trackFn, null, viewValue);
26056 }
26057
26058 return function isSelected(key, value) {
26059 var compareValueFn;
26060 if (trackFn) {
26061 compareValueFn = trackFn;
26062 } else if (selectAsFn) {
26063 compareValueFn = selectAsFn;
26064 } else {
26065 compareValueFn = valueFn;
26066 }
26067
26068 if (multiple) {
26069 return isDefined(selectedSet.remove(callExpression(compareValueFn, key, value)));
26070 } else {
26071 return viewValue === callExpression(compareValueFn, key, value);
26072 }
26073 };
26074 }
26075
26076 function scheduleRendering() {
26077 if (!renderScheduled) {

Callers 1

renderFunction · 0.85

Calls 3

isArrayFunction · 0.85
callExpressionFunction · 0.85
isDefinedFunction · 0.70

Tested by

no test coverage detected