[1.2] Set the order and the sort on search default

This commit is contained in:
vermillion-dev
2019-05-30 19:13:54 +02:00
parent e61d95e733
commit c87c36f4b3
4 changed files with 72 additions and 9 deletions

View File

@@ -17,8 +17,8 @@ var defaults = {
"/filmvideo/animation/"
],
}],
},
];
defaultSearchSort: 'publish_date',
defaultSearchOrder: 'desc',
storageSchema: 1 // Increment this when data format changes
};
@@ -26,15 +26,21 @@ chrome.runtime.onInstalled.addListener(function(details){
if(details.reason === "install"){
chrome.storage.sync.set(defaults);
chrome.storage.sync.set({ 'categories': defaults.defaultCategories});
chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort});
chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder});
} else if(details.reason === "update"){
migrateData();
}
});
function migrateData() {
if(details.reason == "install"){
chrome.storage.sync.set({ 'defaultCategories': categories});
chrome.storage.sync.set({ 'categories': categories});
// Handle migration from 1.0-1.1 to 1.2
chrome.storage.sync.get('storageSchema', function (data) {
if (!data) {
chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort});
chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder});
}
});
// This pulls stored values, falling back to defaults, if none
chrome.storage.sync.get(defaults, function (data) {
var migrated = false;
@@ -50,7 +56,7 @@ function migrateData() {
default:
throw new Error(`Unrecognized storage schema ${data.storageSchema}!`);
}
}
}
chrome.storage.sync.set(defaults);
});
});
}

View File

@@ -4,4 +4,15 @@ injectScript(chrome.extension.getURL('/contentScripts/allPages/accessAllPages.js
/* disable annoying fuckn popup */
popup = document.querySelector('div.ad-alert-wrapper');
if(popup && popup.style.display !== "none")
document.querySelector('button.ad-alert-message-continue-btn').click()
document.querySelector('button.ad-alert-message-continue-btn').click()
/* Retrieve credentials from Google Storage*/
chrome.storage.sync.get(['searchOrder', 'searchSort'], function(value){
/* Update links to order and filter them with our values */
if(value.searchOrder && value.searchSort){
var elements = document.querySelectorAll('a[href$="do=search"]');
for (var i = 0; i < elements.length; i++) {
elements[i].href += '&order=' + value.searchOrder +'&sort=' + value.searchSort;
}
}
});

View File

@@ -38,6 +38,25 @@
<span>Ygg token: </span>
<input id="yggToken" type="text" size="35"/>
</li>
<li>
<span>Colonne de tri des recherches et cat&eacute;gories: </span>
<select id="searchSort">
<option value="name">Nom</option>
<option value="comment">Nbr commentaire</option>
<option value="publish_date">Date</option>
<option value="size">Taille</option>
<option value="completed">Nbr complet</option>
<option value="seed">Seed</option>
<option value="leech">Leech</option>
</select>
</li>
<li>
<span>Ordre du tri des recherches et cat&eacute;gories:</span>
<select id="searchOrder">
<option value="asc">Ascendant</option>
<option value="desc">Descendant</option>
</select>
</li>
<li class="section">
<span>Afficher le formulaire discord: </span>
<input id="displayDiscord" type="checkbox"/>

View File

@@ -1,3 +1,15 @@
var storedValues = [
'yggToken',
'discordWebhookUrl',
'discordUserName',
'displayDiscord',
'displayAddCategories',
'defaultCategories',
'categories',
'searchSort',
'searchOrder'
]
var yggToken = document.getElementById('yggToken');
var discordWebhookUrl = document.getElementById('discordWebhookUrl');
var discordUserName = document.getElementById('discordUserName');
@@ -14,7 +26,10 @@ var buttonRestoreCategories = document.getElementById('restoreCategories');
var defaultCategories = [];
var categories = [];
chrome.storage.sync.get(['yggToken', 'discordWebhookUrl', 'discordUserName', 'displayDiscord', 'displayAddCategories', 'categories', 'defaultCategories'], function(value){
var searchSort = document.getElementById('searchSort');
var searchOrder = document.getElementById('searchOrder');
chrome.storage.sync.get(storedValues, function(value){
if(value.yggToken)
yggToken.value = value.yggToken;
if(value.discordWebhookUrl)
@@ -54,6 +69,12 @@ chrome.storage.sync.get(['yggToken', 'discordWebhookUrl', 'discordUserName', 'di
buttonSaveCategories.addEventListener('click', saveCategories)
buttonRestoreCategories.addEventListener('click', restoreDefaultCategories)
}
if(value.searchSort){
document.querySelector('#searchSort option[value=' + value.searchSort + ']').selected = "selected";
}
if(value.searchOrder){
document.querySelector('#searchOrder option[value=' + value.searchOrder + ']').selected = "selected";
}
});
function addToStorage(name, value) {
@@ -93,6 +114,12 @@ document.addEventListener('DOMContentLoaded', function () {
addCategories.style.display = "none";
}
});
searchSort.addEventListener('change', function(){
addToStorage('searchSort', this.options[this.selectedIndex].value);
});
searchOrder.addEventListener('change', function(){
addToStorage('searchOrder', this.options[this.selectedIndex].value);
});
});
/***********************/