-import {onChildEvent, onEnterPress, onSelect} from "../services/dom";
-import {Component} from "./component";
-
+import {onChildEvent, onEnterPress, onSelect} from '../services/dom';
+import {Component} from './component';
export class CodeEditor extends Component {
editor = null;
callback = null;
+
history = {};
+
historyKey = 'code_history';
setup() {
button.setAttribute('data-favourite', isFavorite ? 'true' : 'false');
window.$http.patch('/preferences/update-code-language-favourite', {
- language: language,
- active: isFavorite
+ language,
+ active: isFavorite,
});
this.sortLanguageList();
if (isFavorite) {
- button.scrollIntoView({block: "center", behavior: "smooth"});
+ button.scrollIntoView({block: 'center', behavior: 'smooth'});
}
});
}
if (aFav && !bFav) {
return -1;
- } else if (bFav && !aFav) {
+ } if (bFav && !aFav) {
return 1;
}
this.getPopup().show(() => {
this.editor.focus();
}, () => {
- this.addHistory()
+ this.addHistory();
});
}
const isMatch = inputLang === lang;
link.classList.toggle('active', isMatch);
if (isMatch) {
- link.scrollIntoView({block: "center", behavior: "smooth"});
+ link.scrollIntoView({block: 'center', behavior: 'smooth'});
}
}
}
const historyKeys = Object.keys(this.history).reverse();
this.historyDropDown.classList.toggle('hidden', historyKeys.length === 0);
this.historyList.innerHTML = historyKeys.map(key => {
- const localTime = (new Date(parseInt(key))).toLocaleTimeString();
- return `<li><button type="button" data-time="${key}" class="text-item">${localTime}</button></li>`;
+ const localTime = (new Date(parseInt(key))).toLocaleTimeString();
+ return `<li><button type="button" data-time="${key}" class="text-item">${localTime}</button></li>`;
}).join('');
}
window.sessionStorage.setItem(this.historyKey, historyString);
}
-}
\ No newline at end of file
+}