mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
this fixes #790
This commit is contained in:
parent
b01301143d
commit
50cee5dfe5
@ -627,6 +627,10 @@
|
||||
"message": "Import from cloud storage",
|
||||
"description": "tooltip"
|
||||
},
|
||||
"cloudPullAndMerge": {
|
||||
"message": "Import from cloud storage and merge with current settings",
|
||||
"description": "tooltip"
|
||||
},
|
||||
"cloudNoData": {
|
||||
"message": "...\n...",
|
||||
"description": ""
|
||||
|
@ -9,32 +9,32 @@
|
||||
display: none;
|
||||
}
|
||||
#cloudWidget > button {
|
||||
font-size: 160%;
|
||||
padding: 0.1em 0.2em;
|
||||
}
|
||||
#cloudPull[disabled] {
|
||||
visibility: hidden;
|
||||
}
|
||||
#cloudPush:after ,
|
||||
#cloudPull:before {
|
||||
display: inline-block;
|
||||
font-family: FontAwesome;
|
||||
font-size: 160%;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
padding: 0.2em 0.25em 0.1em 0.25em;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
display: inline-block;
|
||||
}
|
||||
body[dir="ltr"] #cloudPush:after {
|
||||
#cloudWidget > button[disabled] {
|
||||
visibility: hidden;
|
||||
}
|
||||
#cloudPush:after {
|
||||
content: '\f0ee';
|
||||
}
|
||||
body[dir="rtl"] #cloudPush:after {
|
||||
content: '\f0ee';
|
||||
}
|
||||
body[dir="ltr"] #cloudPull:before {
|
||||
content: '\f0ed';
|
||||
}
|
||||
body[dir="rtl"] #cloudPull:before {
|
||||
#cloudPull:before,
|
||||
#cloudPullAndMerge:before {
|
||||
content: '\f0ed';
|
||||
}
|
||||
#cloudPullAndMerge:after {
|
||||
content: '\f067';
|
||||
font-size: 50%;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 10%;
|
||||
}
|
||||
#cloudWidget > span {
|
||||
color: gray;
|
||||
|
@ -501,7 +501,7 @@ var renderExternalLists = function() {
|
||||
|
||||
var externalListsChangeHandler = function() {
|
||||
uDom.nodeFromId('externalListsApply').disabled =
|
||||
uDom.nodeFromId('externalLists').value.trim() === externalLists;
|
||||
uDom.nodeFromId('externalLists').value.trim() === externalLists.trim();
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
@ -551,27 +551,35 @@ var getCloudData = function() {
|
||||
return bin;
|
||||
};
|
||||
|
||||
var setCloudData = function(data) {
|
||||
var setCloudData = function(data, append) {
|
||||
if ( typeof data !== 'object' || data === null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var checked = data.parseCosmeticFilters === true;
|
||||
uDom.nodeFromId('parseCosmeticFilters').checked = checked;
|
||||
listDetails.cosmetic = checked;
|
||||
var elem, checked;
|
||||
|
||||
var lis = uDom('#lists .listEntry'), li, input, listKey;
|
||||
elem = uDom.nodeFromId('parseCosmeticFilters');
|
||||
checked = data.parseCosmeticFilters === true ||
|
||||
append && elem.checked;
|
||||
elem.checked = listDetails.cosmetic = checked;
|
||||
|
||||
var lis = uDom('#lists .listEntry'), li, listKey;
|
||||
var i = lis.length;
|
||||
while ( i-- ) {
|
||||
li = lis.at(i);
|
||||
input = li.descendants('input');
|
||||
elem = li.descendants('input');
|
||||
listKey = li.descendants('a').attr('data-listkey');
|
||||
checked = data.selectedLists.indexOf(listKey) !== -1;
|
||||
input.prop('checked', checked);
|
||||
checked = data.selectedLists.indexOf(listKey) !== -1 ||
|
||||
append && elem.prop('checked');
|
||||
elem.prop('checked', checked);
|
||||
listDetails.available[listKey].off = !checked;
|
||||
}
|
||||
|
||||
uDom.nodeFromId('externalLists').value = data.externalLists || '';
|
||||
elem = uDom.nodeFromId('externalLists');
|
||||
if ( !append ) {
|
||||
elem.value = '';
|
||||
}
|
||||
elem.value += data.externalLists || '';
|
||||
|
||||
renderWidgets();
|
||||
externalListsChangeHandler();
|
||||
|
@ -62,6 +62,7 @@ var onCloudDataReceived = function(entry) {
|
||||
self.cloud.data = entry.data;
|
||||
|
||||
uDom.nodeFromId('cloudPull').removeAttribute('disabled');
|
||||
uDom.nodeFromId('cloudPullAndMerge').removeAttribute('disabled');
|
||||
|
||||
var timeOptions = {
|
||||
weekday: 'short',
|
||||
@ -110,9 +111,17 @@ var pushData = function() {
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
var pullData = function(ev) {
|
||||
var pullData = function() {
|
||||
if ( typeof self.cloud.onPull === 'function' ) {
|
||||
self.cloud.onPull(self.cloud.data, ev.shiftKey);
|
||||
self.cloud.onPull(self.cloud.data, false);
|
||||
}
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
var pullAndMergeData = function() {
|
||||
if ( typeof self.cloud.onPull === 'function' ) {
|
||||
self.cloud.onPull(self.cloud.data, true);
|
||||
}
|
||||
};
|
||||
|
||||
@ -171,7 +180,8 @@ var onInitialize = function(options) {
|
||||
var html = [
|
||||
'<button id="cloudPush" type="button" title="cloudPush"></button>',
|
||||
'<span data-i18n="cloudNoData"></span>',
|
||||
'<button id="cloudPull" type="button" title="cloudPull" disabled></button>',
|
||||
'<button id="cloudPull" type="button" title="cloudPull" disabled></button> ',
|
||||
'<button id="cloudPullAndMerge" type="button" title="cloudPullAndMerge" disabled></button>',
|
||||
'<span id="cloudCog" class="fa"></span>',
|
||||
'<div id="cloudOptions">',
|
||||
' <div>',
|
||||
@ -187,6 +197,7 @@ var onInitialize = function(options) {
|
||||
|
||||
uDom('#cloudPush').on('click', pushData);
|
||||
uDom('#cloudPull').on('click', pullData);
|
||||
uDom('#cloudPullAndMerge').on('click', pullAndMergeData);
|
||||
uDom('#cloudCog').on('click', openOptions);
|
||||
uDom('#cloudOptions').on('click', closeOptions);
|
||||
uDom('#cloudOptionsSubmit').on('click', submitOptions);
|
||||
|
Loading…
Reference in New Issue
Block a user