|
1 |
| -var CACHES = ["WayBack Machine", "Coral CDN", "Google Cache"]; |
2 |
| -var HTML = ["Google Cache", "WayBack Machine", "Coral CDN"]; |
3 | 1 | var order = [];
|
4 | 2 |
|
5 |
| -//order = CACHES; |
6 |
| - |
7 | 3 | $("#sortable").sortable({
|
8 |
| - stop: function(event, ui) { |
9 |
| - //console.log("Old Position: " + order.indexOf(ui.item.attr('id'))); |
10 |
| - //console.log("New position: " + ui.item.index()); |
11 |
| - |
12 |
| - order.splice(order.indexOf(ui.item.attr('id')), 1); |
13 |
| - order.splice(ui.item.index(), 0, ui.item.attr('id')); |
14 |
| - |
15 |
| - chrome.storage.sync.set({'cacheOrder': order}, function() { |
16 |
| - console.log("Saved Settings: " + order.split(":")); |
17 |
| - }); |
| 4 | + stop: function(event, ui) { // Save settings after change |
| 5 | + // console.log("Old Position: " + order.indexOf(ui.item.attr('id'))); |
| 6 | + // console.log("New position: " + ui.item.index()); |
| 7 | + |
| 8 | + order.splice(order.indexOf(ui.item.attr('id')), 1); |
| 9 | + order.splice(ui.item.index(), 0, ui.item.attr('id')); |
| 10 | + |
| 11 | + var saveObj = {}; |
| 12 | + saveObj['cacheOrder4'] = order; |
| 13 | + chrome.storage.local.set(saveObj, function() { |
| 14 | + console.log("Saved Cache Ordering Preferences"); |
| 15 | + }); |
18 | 16 | },
|
19 |
| - create: function(event, ui) { // Set up sortable and also radio buttons |
20 |
| - chrome.storage.sync.get('cacheOrder', function(result) { |
21 |
| - order = result.cacheOrder; |
22 |
| - |
23 |
| - var ul = $('#sortable'); |
24 |
| - var li = ul.children('li').get(); |
25 |
| - li.sort(function(a,b) { |
26 |
| - return order.indexOf($(a).attr('id')) - order.indexOf($(b).attr('id')) |
27 |
| - }); |
28 |
| - ul.append(li); |
| 17 | + create: function(event, ui) { // Set up sortable, checkboxes, & toggle |
| 18 | + // Set up sortable |
| 19 | + chrome.storage.local.get('cacheOrder4', function(result) { |
| 20 | + order = result['cacheOrder4'] || ['google-cache-sortable', 'wayback-machine-sortable', 'coral-cdn-sortable']; |
| 21 | + |
| 22 | + var ul = $('#sortable'); |
| 23 | + var li = ul.children('li').get(); |
| 24 | + li.sort(function(a, b) { |
| 25 | + return order.indexOf($(a).attr('id')) - order.indexOf($(b).attr('id')); |
29 | 26 | });
|
30 |
| - // Set up radio buttons |
31 |
| - chrome.storage.sync.get('auto-detect', function(result) { |
32 |
| - if(result['auto-detect'] == 'on') { |
33 |
| - $('#on').prop('checked', true); |
34 |
| - } else { |
35 |
| - $('#off').prop('checked', true); |
36 |
| - } |
| 27 | + ul.append(li); |
| 28 | + }); |
| 29 | + |
| 30 | + // Set up auto-detect toggle |
| 31 | + chrome.storage.local.get('auto-detect', function(result) { |
| 32 | + toggle = $('#myonoffswitch'); |
| 33 | + toggle.prop('checked', result['auto-detect']); |
| 34 | + }); |
| 35 | + |
| 36 | + // Set up context menu caches |
| 37 | + chrome.storage.local.get(['google-cache', 'wayback-machine', 'coral-cdn'], function(results) { |
| 38 | + Object.keys(results).forEach(function(key) { |
| 39 | + $('#' + key).prop('checked', results[key]); |
37 | 40 | });
|
| 41 | + }); |
38 | 42 | }
|
39 | 43 | });
|
40 | 44 |
|
41 |
| -$("#myonoffswitch").click(function(button) { // Save auto-detect settings |
42 |
| - chrome.storage.sync.set({'auto-detect': button.target.id}, function() { |
| 45 | +$("#myonoffswitch").click(function(event) { // Save auto-detect settings |
| 46 | + chrome.storage.local.set({'auto-detect': $("#myonoffswitch").is(':checked')}, function() { |
43 | 47 | console.log("Saved Auto-Detect Preferences");
|
44 | 48 | });
|
45 | 49 | });
|
| 50 | + |
| 51 | +$(".context-menu-label").click(function(event) { // Add/Remove context menu caches |
| 52 | + var id = $(event.target).attr('for'); |
| 53 | + var checkbox = $('#' + id); |
| 54 | + var saveObj = {}; |
| 55 | + saveObj[id] = !checkbox.is(':checked'); |
| 56 | + |
| 57 | + chrome.storage.local.set(saveObj, function() { |
| 58 | + console.log("Saved context menu preferences for " + id); |
| 59 | + }); |
46 | 60 | });
|
47 | 61 |
|
48 | 62 | $("#sortable").disableSelection();
|
0 commit comments