mirror of
https://github.com/gorhill/uBlock.git
synced 2026-03-11 09:04:36 +00:00
[mv3] Fine tuning editor code
This commit is contained in:
parent
0dac2206c3
commit
0983e62437
2 changed files with 34 additions and 37 deletions
|
|
@ -479,18 +479,6 @@ function updateSummaryPanel(info) {
|
|||
});
|
||||
}
|
||||
|
||||
browser.storage.onChanged.addListener((changes, area) => {
|
||||
if ( area !== 'local' ) { return; }
|
||||
const { userDnrRuleCount } = changes;
|
||||
if ( userDnrRuleCount instanceof Object === false ) { return; }
|
||||
const { newValue } = changes.userDnrRuleCount;
|
||||
updateSummaryPanel({ userDnrRuleCount: newValue });
|
||||
});
|
||||
|
||||
localRead('userDnrRuleCount').then(userDnrRuleCount => {
|
||||
updateSummaryPanel({ userDnrRuleCount })
|
||||
});
|
||||
|
||||
function updateFeedbackPanel(info) {
|
||||
const errors = [];
|
||||
if ( Array.isArray(info.errors) ) {
|
||||
|
|
@ -542,8 +530,6 @@ function importRulesFromFile() {
|
|||
input.click();
|
||||
}
|
||||
|
||||
dom.on('#dnrRulesImport', 'click', importRulesFromFile);
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
function exportRulesToFile() {
|
||||
|
|
@ -562,8 +548,6 @@ function exportRulesToFile() {
|
|||
a.click();
|
||||
}
|
||||
|
||||
dom.on('#dnrRulesExport', 'click', exportRulesToFile);
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
function importRulesFromPaste(transaction) {
|
||||
|
|
@ -601,14 +585,15 @@ function foldService(state, from) {
|
|||
const line = doc.line(i);
|
||||
if ( reFoldable.test(line.text) === false ) { return null; }
|
||||
}
|
||||
for ( let i = lineFrom.number; i < doc.lines; i++ ) {
|
||||
const lineNext = doc.line(i+1);
|
||||
if ( reFoldable.test(lineNext.text) ) { continue; }
|
||||
if ( i === lineFrom.number ) { return null; }
|
||||
const lineFoldEnd = doc.line(i);
|
||||
return { from: lineFrom.from+6, to: lineFoldEnd.to };
|
||||
let i = lineFrom.number + 1;
|
||||
for ( ; i <= doc.lines; i++ ) {
|
||||
const lineNext = doc.line(i);
|
||||
if ( reFoldable.test(lineNext.text) === false ) { break; }
|
||||
}
|
||||
return null;
|
||||
i -= 1;
|
||||
if ( i === lineFrom.number ) { return null; }
|
||||
const lineFoldEnd = doc.line(i);
|
||||
return { from: lineFrom.from+6, to: lineFoldEnd.to };
|
||||
}
|
||||
|
||||
const reFoldable = /^ {4}- \S/;
|
||||
|
|
@ -846,8 +831,13 @@ function hoverTooltip(view, pos, side) {
|
|||
|
||||
/******************************************************************************/
|
||||
|
||||
const cmRules = (( ) => {
|
||||
return self.cm6.createEditorView({
|
||||
let lastSavedText = '';
|
||||
|
||||
const cmRules = await localRead('userDnrRules').then(text => {
|
||||
text ||= '';
|
||||
|
||||
const view = self.cm6.createEditorView({
|
||||
text,
|
||||
dnrRules: true,
|
||||
oneDark: dom.cl.has(':root', 'dark'),
|
||||
updateListener: cmUpdateListener,
|
||||
|
|
@ -866,27 +856,34 @@ const cmRules = (( ) => {
|
|||
streamParser: dnryamlStreamParser,
|
||||
foldService,
|
||||
}, qs$('#cm-dnrRules'));
|
||||
})();
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
let lastSavedText = '';
|
||||
|
||||
localRead('userDnrRules').then(text => {
|
||||
text ||= '';
|
||||
setEditorText(text);
|
||||
lastSavedText = text;
|
||||
self.cm6.foldAll(cmRules);
|
||||
self.cm6.resetUndoRedo(cmRules);
|
||||
self.cm6.foldAll(view);
|
||||
self.cm6.resetUndoRedo(view);
|
||||
|
||||
browser.storage.onChanged.addListener((changes, area) => {
|
||||
if ( area !== 'local' ) { return; }
|
||||
const { userDnrRuleCount } = changes;
|
||||
if ( userDnrRuleCount instanceof Object === false ) { return; }
|
||||
const { newValue } = changes.userDnrRuleCount;
|
||||
updateSummaryPanel({ userDnrRuleCount: newValue });
|
||||
});
|
||||
|
||||
localRead('userDnrRuleCount').then(userDnrRuleCount => {
|
||||
updateSummaryPanel({ userDnrRuleCount })
|
||||
});
|
||||
|
||||
dom.on('#dnrRulesApply', 'click', ( ) => {
|
||||
saveEditorText();
|
||||
});
|
||||
|
||||
dom.on('#dnrRulesRevert', 'click', ( ) => {
|
||||
setEditorText(lastSavedText);
|
||||
sendMessage({ what: 'updateUserDnrRules' });
|
||||
});
|
||||
dom.on('#dnrRulesImport', 'click', importRulesFromFile);
|
||||
dom.on('#dnrRulesExport', 'click', exportRulesToFile);
|
||||
|
||||
return view;
|
||||
});
|
||||
|
||||
/******************************************************************************/
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 58a4bae6af82358754da665d3056d7af295bbb7b
|
||||
Subproject commit 94860205aae82ef3d8e66f3a2cc5a5c96262d028
|
||||
Loading…
Reference in a new issue