Changing the output encoding no longer triggers a full bake
This commit is contained in:
parent
406da9fa2c
commit
3893c22275
@ -81,6 +81,9 @@ class StatusBarPanel {
|
||||
* @param {Event} e
|
||||
*/
|
||||
eolSelectClick(e) {
|
||||
// preventDefault is required to stop the URL being modified and popState being triggered
|
||||
e.preventDefault();
|
||||
|
||||
const eolLookup = {
|
||||
"LF": "\u000a",
|
||||
"VT": "\u000b",
|
||||
@ -106,6 +109,9 @@ class StatusBarPanel {
|
||||
* @param {Event} e
|
||||
*/
|
||||
chrEncSelectClick(e) {
|
||||
// preventDefault is required to stop the URL being modified and popState being triggered
|
||||
e.preventDefault(); // TODO - this breaks the menus when you click the button itself
|
||||
|
||||
const chrEncVal = parseInt(e.target.getAttribute("data-val"), 10);
|
||||
|
||||
if (isNaN(chrEncVal)) return;
|
||||
@ -366,9 +372,9 @@ function hideOnClickOutside(element, instantiatingEvent) {
|
||||
}
|
||||
};
|
||||
|
||||
if (!Object.keys(elementsWithListeners).includes(element)) {
|
||||
document.addEventListener("click", outsideClickListener);
|
||||
if (!Object.prototype.hasOwnProperty.call(elementsWithListeners, element)) {
|
||||
elementsWithListeners[element] = outsideClickListener;
|
||||
document.addEventListener("click", elementsWithListeners[element], false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -378,7 +384,7 @@ function hideOnClickOutside(element, instantiatingEvent) {
|
||||
*/
|
||||
function hideElement(element) {
|
||||
element.classList.remove("show");
|
||||
document.removeEventListener("click", elementsWithListeners[element]);
|
||||
document.removeEventListener("click", elementsWithListeners[element], false);
|
||||
delete elementsWithListeners[element];
|
||||
}
|
||||
|
||||
|
@ -146,6 +146,8 @@ class OutputWaiter {
|
||||
*/
|
||||
chrEncChange(chrEncVal) {
|
||||
this.outputChrEnc = chrEncVal;
|
||||
// Reset the output, forcing it to re-decode the data with the new character encoding
|
||||
this.setOutput(this.currentOutputCache, true);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -173,10 +175,11 @@ class OutputWaiter {
|
||||
/**
|
||||
* Sets the value of the current output
|
||||
* @param {string|ArrayBuffer} data
|
||||
* @param {boolean} [force=false]
|
||||
*/
|
||||
setOutput(data) {
|
||||
setOutput(data, force=false) {
|
||||
// Don't do anything if the output hasn't changed
|
||||
if (data === this.currentOutputCache) return;
|
||||
if (!force && data === this.currentOutputCache) return;
|
||||
this.currentOutputCache = data;
|
||||
|
||||
// If data is an ArrayBuffer, convert to a string in the correct character encoding
|
||||
|
Loading…
Reference in New Issue
Block a user