Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit af50253

Browse files
committed
WIP: move getViewValue function
1 parent 177b690 commit af50253

File tree

1 file changed

+56
-58
lines changed

1 file changed

+56
-58
lines changed

src/ng/directive/select.js

+56-58
Original file line numberDiff line numberDiff line change
@@ -383,64 +383,6 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
383383
// clear contents, we'll add what's needed based on the model
384384
selectElement.empty();
385385

386-
function getViewValue (el, scope, locals, collection, multiple) {
387-
var key = el.val();
388-
var value;
389-
var calculateViewValue;
390-
391-
if (selectAsFn) {
392-
calculateViewValue = function () {
393-
var collectionWithValueName = {};
394-
collectionWithValueName[valueName] = collection[key];
395-
collectionWithValueName[keyName] = key;
396-
397-
for (var i in collection) {
398-
if (collection.hasOwnProperty(i)) {
399-
locals[valueName] = collection[i];
400-
if (keyName) locals[keyName] = i;
401-
if (selectAsFn(scope, locals) ==
402-
selectAsFn(scope, collectionWithValueName)) {
403-
return selectAsFn(scope, locals);
404-
}
405-
}
406-
}
407-
};
408-
} else if (trackFn) {
409-
calculateViewValue = function() {
410-
for (var trackIndex = 0; trackIndex < collection.length; trackIndex++) {
411-
locals[valueName] = collection[trackIndex];
412-
if (trackFn(scope, locals) == key) {
413-
return valueFn(scope, locals);
414-
}
415-
}
416-
};
417-
}
418-
else {
419-
calculateViewValue = function() {
420-
locals[valueName] = collection[key];
421-
if (keyName) locals[keyName] = key;
422-
return valueFn(scope, locals);
423-
};
424-
}
425-
426-
if (multiple) {
427-
if (keyName) locals[keyName] = key;
428-
calculateViewValue();
429-
430-
return (selectAsFn || valueFn)(scope, locals);
431-
}
432-
433-
if (key == '?') {
434-
value = undefined;
435-
} else if (key === ''){
436-
value = null;
437-
} else {
438-
value = calculateViewValue();
439-
}
440-
441-
return value;
442-
}
443-
444386
selectElement.on('change', function() {
445387
scope.$apply(function() {
446388
var optionGroup,
@@ -509,6 +451,62 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
509451
return selectedSet;
510452
}
511453

454+
function getViewValue (el, scope, locals, collection, multiple) {
455+
var key = el.val();
456+
var value;
457+
var calculateViewValue;
458+
459+
if (selectAsFn) {
460+
calculateViewValue = function () {
461+
var collectionWithValueName = {};
462+
collectionWithValueName[valueName] = collection[key];
463+
collectionWithValueName[keyName] = key;
464+
465+
for (var i in collection) {
466+
if (collection.hasOwnProperty(i)) {
467+
locals[valueName] = collection[i];
468+
if (keyName) locals[keyName] = i;
469+
if (selectAsFn(scope, locals) ==
470+
selectAsFn(scope, collectionWithValueName)) {
471+
return selectAsFn(scope, locals);
472+
}
473+
}
474+
}
475+
};
476+
} else if (trackFn) {
477+
calculateViewValue = function() {
478+
for (var trackIndex = 0; trackIndex < collection.length; trackIndex++) {
479+
locals[valueName] = collection[trackIndex];
480+
if (trackFn(scope, locals) == key) {
481+
return valueFn(scope, locals);
482+
}
483+
}
484+
};
485+
} else {
486+
calculateViewValue = function() {
487+
locals[valueName] = collection[key];
488+
if (keyName) locals[keyName] = key;
489+
return valueFn(scope, locals);
490+
};
491+
}
492+
493+
if (multiple) {
494+
if (keyName) locals[keyName] = key;
495+
calculateViewValue();
496+
return (selectAsFn || valueFn)(scope, locals);
497+
}
498+
499+
if (key == '?') {
500+
value = undefined;
501+
} else if (key === ''){
502+
value = null;
503+
} else {
504+
value = calculateViewValue();
505+
}
506+
507+
return value;
508+
}
509+
512510

513511
function scheduleRendering() {
514512
if (!renderScheduled) {

0 commit comments

Comments
 (0)