Merge remote-tracking branch 'upstream/master'
* upstream/master: preserve the focused element when replacing entry in-place don't re-toggle the style back on pressing Spacebar
This commit is contained in:
commit
333e5a6954
|
@ -304,7 +304,14 @@ function createStyleElement({
|
||||||
if (check) detectSloppyRegexps([style]);
|
if (check) detectSloppyRegexps([style]);
|
||||||
|
|
||||||
const oldElement = $(ENTRY_ID_PREFIX + style.id);
|
const oldElement = $(ENTRY_ID_PREFIX + style.id);
|
||||||
if (oldElement) {
|
if (oldElement && oldElement.contains(document.activeElement)) {
|
||||||
|
// preserve the focused element inside
|
||||||
|
const {className} = document.activeElement;
|
||||||
|
oldElement.parentNode.replaceChild(entry, oldElement);
|
||||||
|
// we're not using $() since className may contain multiple tokens
|
||||||
|
const el = entry.getElementsByClassName(className)[0];
|
||||||
|
if (el) el.focus();
|
||||||
|
} else if (oldElement) {
|
||||||
oldElement.parentNode.replaceChild(entry, oldElement);
|
oldElement.parentNode.replaceChild(entry, oldElement);
|
||||||
} else {
|
} else {
|
||||||
container.appendChild(entry);
|
container.appendChild(entry);
|
||||||
|
@ -328,6 +335,8 @@ Object.assign(handleEvent, {
|
||||||
},
|
},
|
||||||
|
|
||||||
toggle(event) {
|
toggle(event) {
|
||||||
|
// when fired on checkbox, prevent the parent label from seeing the event, see #501
|
||||||
|
event.stopPropagation();
|
||||||
API.saveStyle({
|
API.saveStyle({
|
||||||
id: handleEvent.getClickedStyleId(event),
|
id: handleEvent.getClickedStyleId(event),
|
||||||
enabled: this.matches('.enable') || this.checked,
|
enabled: this.matches('.enable') || this.checked,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user