summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Campos <james.r.campos@gmail.com>2014-10-05 15:51:22 -0700
committerczaks <marcin@6irc.net>2014-10-07 03:27:36 +0200
commit1e04f29485583cd1b85276b2fbfeb47f51473e30 (patch)
treeb838bf3ca69a6c9f2139d1bf8e7e3ac875c437ef
parentdaa30a12de74764d9944e53bf63ce9a7dda5860d (diff)
extract caching
-rw-r--r--js/inline.js27
1 files changed, 16 insertions, 11 deletions
diff --git a/js/inline.js b/js/inline.js
index 9232fa63..bcbf156f 100644
--- a/js/inline.js
+++ b/js/inline.js
@@ -1,5 +1,18 @@
;(function() {
- var cache = {}
+ var App = {
+ cache: {},
+ get: function(url, cb) {
+ var $page = App.cache[url]
+ if ($page)
+ return cb($page)
+
+ $.get(url, function(data) {
+ var $page = $(data)
+ App.cache[url] = $page
+ cb($page)
+ })
+ }
+ }
var inline = function(e) {
e.preventDefault()
@@ -40,16 +53,8 @@
return add(link, $target)
}
- var url = this.pathname
- var data = cache[url]
- if (data) {
- var $target = $(data).find(selector)
- return add(link, $target)
- }
-
- $.get(url, function(data) {
- cache[url] = data
- var $target = $(data).find(selector)
+ App.get(this.pathname, function($page) {
+ var $target = $page.find(selector)
add(link, $target)
})
}