aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2012-02-21 21:59:16 -0800
committerMisko Hevery2012-02-21 22:45:59 -0800
commit6216dc046510204bafd159dba17ce0cc22db6c08 (patch)
treea4121c99f1e726afc315e3e2a38d8bf6c824786f
parent761b2ed85ad9685c35f85513e17363abf17ce6b3 (diff)
downloadangular.js-6216dc046510204bafd159dba17ce0cc22db6c08.tar.bz2
chore(select): remove inherit, replace with expression locals
-rw-r--r--src/widget/select.js26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/widget/select.js b/src/widget/select.js
index 9f8faff2..f70575a6 100644
--- a/src/widget/select.js
+++ b/src/widget/select.js
@@ -243,7 +243,7 @@ var selectDirective = ['$formFactory', '$compile', '$parse',
widget.$apply(function() {
var optionGroup,
collection = valuesFn(modelScope) || [],
- tempScope = inherit(modelScope),
+ locals = {},
key, value, optionElement, index, groupIndex, length, groupLength;
if (multiple) {
@@ -257,9 +257,9 @@ var selectDirective = ['$formFactory', '$compile', '$parse',
for(index = 1, length = optionGroup.length; index < length; index++) {
if ((optionElement = optionGroup[index].element)[0].selected) {
key = optionElement.val();
- if (keyName) tempScope[keyName] = key;
- tempScope[valueName] = collection[key];
- value.push(valueFn(tempScope));
+ if (keyName) locals[keyName] = key;
+ locals[valueName] = collection[key];
+ value.push(valueFn(modelScope, locals));
}
}
}
@@ -270,9 +270,9 @@ var selectDirective = ['$formFactory', '$compile', '$parse',
} else if (key == ''){
value = null;
} else {
- tempScope[valueName] = collection[key];
- if (keyName) tempScope[keyName] = key;
- value = valueFn(tempScope);
+ locals[valueName] = collection[key];
+ if (keyName) locals[keyName] = key;
+ value = valueFn(modelScope, locals);
}
}
if (isDefined(value) && modelScope.$viewVal !== value) {
@@ -296,7 +296,7 @@ var selectDirective = ['$formFactory', '$compile', '$parse',
keys = keyName ? sortedKeys(values) : values,
groupLength, length,
groupIndex, index,
- optionScope = inherit(modelScope),
+ locals = {},
selected,
selectedSet = false, // nothing is selected yet
lastElement,
@@ -312,21 +312,21 @@ var selectDirective = ['$formFactory', '$compile', '$parse',
// We now build up the list of options we need (we merge later)
for (index = 0; length = keys.length, index < length; index++) {
- optionScope[valueName] = values[keyName ? optionScope[keyName]=keys[index]:index];
- optionGroupName = groupByFn(optionScope) || '';
+ locals[valueName] = values[keyName ? locals[keyName]=keys[index]:index];
+ optionGroupName = groupByFn(modelScope, locals) || '';
if (!(optionGroup = optionGroups[optionGroupName])) {
optionGroup = optionGroups[optionGroupName] = [];
optionGroupNames.push(optionGroupName);
}
if (multiple) {
- selected = selectedSet.remove(valueFn(optionScope)) != undefined;
+ selected = selectedSet.remove(valueFn(modelScope, locals)) != undefined;
} else {
- selected = modelValue === valueFn(optionScope);
+ selected = modelValue === valueFn(modelScope, locals);
selectedSet = selectedSet || selected; // see if at least one item is selected
}
optionGroup.push({
id: keyName ? keys[index] : index, // either the index into array or key from object
- label: displayFn(optionScope) || '', // what will be seen by the user
+ label: displayFn(modelScope, locals) || '', // what will be seen by the user
selected: selected // determine if we should be selected
});
}