aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIgor Minar2012-05-03 21:42:51 -0700
committerIgor Minar2012-05-03 23:31:28 -0700
commitee579a071a91cbade729d3cb97e097568e71f8fc (patch)
tree228eae91ae4f69d089755219d878d0a7f521a34f /src
parent5df7e6fae5c1045b8d988a6fa06fef674a4527da (diff)
downloadangular.js-ee579a071a91cbade729d3cb97e097568e71f8fc.tar.bz2
feat(jqLite): support data() getter and data(obj) setter
... just like jquery does
Diffstat (limited to 'src')
-rw-r--r--src/jqLite.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index df878609..efe3ec31 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -215,7 +215,21 @@ function JQLiteData(element, key, value) {
}
cache[key] = value;
} else {
- return cache ? cache[key] : null;
+ if (isDefined(key)) {
+ if (isObject(key)) {
+ if (!cacheId) element[jqName] = cacheId = jqNextId();
+ jqCache[cacheId] = cache = (jqCache[cacheId] || {});
+ extend(cache, key);
+ } else {
+ return cache ? cache[key] : undefined;
+ }
+ } else {
+ if (!cacheId) element[jqName] = cacheId = jqNextId();
+
+ return cache
+ ? cache
+ : cache = jqCache[cacheId] = {};
+ }
}
}