Přesunuto na GitHub https://github.com/ksp/kurz
https://ksp.mff.cuni.cz/kurz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
842 B
24 lines
842 B
export function nonNull<T>(a: T | null | undefined): T { return a! }
|
|
|
|
export function copyFieldsThatExist(dest: any, source: any) {
|
|
for (const attr of Object.keys(dest)) {
|
|
if (attr in source) dest[attr] = source[attr]
|
|
}
|
|
}
|
|
|
|
export function isEditableElement(e: Element | null | undefined) {
|
|
return !!(e && ((e as HTMLElement).isContentEditable || e.tagName == "INPUT" || e.tagName == "TEXTAREA" || e.tagName == "SELECT"))
|
|
}
|
|
|
|
export function saveToLocalDisk(filename: string, text: string) {
|
|
var element = document.createElement('a');
|
|
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
|
element.setAttribute('download', filename);
|
|
|
|
element.style.display = 'none';
|
|
document.body.appendChild(element);
|
|
|
|
element.click();
|
|
|
|
document.body.removeChild(element);
|
|
}
|
|
|