From: Scott Worley Date: Fri, 28 Feb 2014 07:15:59 +0000 (-0800) Subject: Keep a local picsorter_deleted too. X-Git-Url: http://git.scottworley.com/picsort/commitdiff_plain/d1309d5a15f015c52ff48ea52b028f47ca7723e8?ds=sidebyside Keep a local picsorter_deleted too. Don't unpack it from localStorage every single time it is needed. Read it in once and write it back when it changes. Note: This would make updates from multiple tabs running picsorter on the same domain clobber each other's updates. So don't run multiple picsorters. --- diff --git a/picsorter.js b/picsorter.js index c3af639..e44c22c 100644 --- a/picsorter.js +++ b/picsorter.js @@ -5,6 +5,7 @@ var zoom = "sm/"; if (!("picsorter_deleted" in localStorage)) { localStorage.picsorter_deleted = JSON.stringify({}); } +var picsorter_deleted = JSON.parse(localStorage.picsorter_deleted); function setpic() { $("#pic").attr("src", zoom + exposure + "/" + files[input_index]); @@ -19,22 +20,19 @@ function toggle_zoom() { } function move_to_nondeleted(direction) { - var deleted = JSON.parse(localStorage.picsorter_deleted); do { input_index += direction; - } while (files[input_index] in deleted); + } while (files[input_index] in picsorter_deleted); } function mark_deleted() { - var deleted = JSON.parse(localStorage.picsorter_deleted); - deleted[files[input_index]] = 1; - localStorage.picsorter_deleted = JSON.stringify(deleted); + picsorter_deleted[files[input_index]] = 1; + localStorage.picsorter_deleted = JSON.stringify(picsorter_deleted); } function mark_not_deleted() { - var deleted = JSON.parse(localStorage.picsorter_deleted); - delete deleted[files[input_index]]; - localStorage.picsorter_deleted = JSON.stringify(deleted); + delete picsorter_deleted[files[input_index]]; + localStorage.picsorter_deleted = JSON.stringify(picsorter_deleted); } $(function() {