fix and simplify editDeleteText context menu

* enable it on inputs added by the user later
* enable it in all of our pages
This commit is contained in:
tophf 2022-01-28 03:11:25 +03:00
parent 5253c863b9
commit 5529cbec2b
4 changed files with 9 additions and 25 deletions

View File

@ -32,7 +32,7 @@
title: 'editDeleteText', title: 'editDeleteText',
type: 'normal', type: 'normal',
contexts: ['editable'], contexts: ['editable'],
documentUrlPatterns: [URLS.ownOrigin + 'edit*'], documentUrlPatterns: [URLS.ownOrigin + '*'],
click: (info, tab) => { click: (info, tab) => {
msg.sendTab(tab.id, {method: 'editDeleteText'}, undefined, 'extension') msg.sendTab(tab.id, {method: 'editDeleteText'}, undefined, 'extension')
.catch(msg.ignoreError); .catch(msg.ignoreError);

View File

@ -79,9 +79,6 @@ msg.onExtension(request => {
closeCurrentTab(); closeCurrentTab();
} }
break; break;
case 'editDeleteText':
document.execCommand('delete');
break;
} }
}); });

View File

@ -1,12 +1,11 @@
/* global $ $$ $create $remove messageBoxProxy */// dom.js /* global $ $create $remove messageBoxProxy */// dom.js
/* global API */// msg.js /* global API */// msg.js
/* global CodeMirror */ /* global CodeMirror */
/* global FIREFOX RX_META debounce ignoreChromeError */// toolbox.js /* global RX_META debounce */// toolbox.js
/* global MozDocMapper clipString helpPopup rerouteHotkeys showCodeMirrorPopup */// util.js /* global MozDocMapper clipString helpPopup rerouteHotkeys showCodeMirrorPopup */// util.js
/* global createSection */// sections-editor-section.js /* global createSection */// sections-editor-section.js
/* global editor */ /* global editor */
/* global linterMan */ /* global linterMan */
/* global prefs */
/* global styleSectionsEqual */ // sections-util.js /* global styleSectionsEqual */ // sections-util.js
/* global t */// localization.js /* global t */// localization.js
'use strict'; 'use strict';
@ -33,10 +32,6 @@ function SectionsEditor() {
$('#from-mozilla').on('click', () => showMozillaFormatImport()); $('#from-mozilla').on('click', () => showMozillaFormatImport());
document.on('wheel', scrollEntirePageOnCtrlShift, {passive: false}); document.on('wheel', scrollEntirePageOnCtrlShift, {passive: false});
CodeMirror.defaults.extraKeys['Shift-Ctrl-Wheel'] = 'scrollWindow'; CodeMirror.defaults.extraKeys['Shift-Ctrl-Wheel'] = 'scrollWindow';
if (!FIREFOX) {
$$('input:not([type]), input[type=text], input[type=search], input[type=number]')
.forEach(e => e.on('mousedown', toggleContextMenuDelete));
}
/** @namespace Editor */ /** @namespace Editor */
Object.assign(editor, { Object.assign(editor, {
@ -621,9 +616,6 @@ function SectionsEditor() {
$('.move-section-down', el).onclick = () => moveSectionDown(section); $('.move-section-down', el).onclick = () => moveSectionDown(section);
$('.restore-section', el).onclick = () => restoreSection(section); $('.restore-section', el).onclick = () => restoreSection(section);
cm.on('paste', maybeImportOnPaste); cm.on('paste', maybeImportOnPaste);
if (!FIREFOX) {
cm.on('mousedown', (cm, event) => toggleContextMenuDelete.call(cm, event));
}
} }
function maybeImportOnPaste(cm, event) { function maybeImportOnPaste(cm, event) {
@ -668,15 +660,4 @@ function SectionsEditor() {
linterMan.enableForEditor(cm); linterMan.enableForEditor(cm);
cm.refresh(); cm.refresh();
} }
function toggleContextMenuDelete(event) {
if (chrome.contextMenus && event.button === 2 && prefs.get('editor.contextDelete')) {
chrome.contextMenus.update('editor.contextDelete', {
enabled: Boolean(
this.selectionStart !== this.selectionEnd ||
this.somethingSelected && this.somethingSelected()
),
}, ignoreChromeError);
}
}
} }

View File

@ -1,5 +1,6 @@
/* global $$ $ $create focusAccessibility getEventKeyName moveFocus */// dom.js /* global $$ $ $create focusAccessibility getEventKeyName moveFocus */// dom.js
/* global clamp debounce */// toolbox.js /* global clamp debounce */// toolbox.js
/* global msg */
/* global t */// localization.js /* global t */// localization.js
'use strict'; 'use strict';
@ -15,6 +16,11 @@
window.on('wheel', changeFocusedInputOnWheel, {capture: true, passive: false}); window.on('wheel', changeFocusedInputOnWheel, {capture: true, passive: false});
window.on('click', e => splitMenu(e) || showTooltipNote(e)); window.on('click', e => splitMenu(e) || showTooltipNote(e));
window.on('resize', () => debounce(addTooltipsToEllipsized, 100)); window.on('resize', () => debounce(addTooltipsToEllipsized, 100));
msg.onExtension(request => {
if (request.method === 'editDeleteText') {
document.execCommand('delete');
}
});
// Removing transition-suppressor rule // Removing transition-suppressor rule
const {sheet} = $('link[href$="global.css"]'); const {sheet} = $('link[href$="global.css"]');
for (let i = 0, rule; (rule = sheet.cssRules[i]); i++) { for (let i = 0, rule; (rule = sheet.cssRules[i]); i++) {