f6af34cb0a
Reports open from the list in a new tab, where history.back() did nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
/** В новой вкладке (так отчёты открываются из списка) история состоит из одной текущей страницы. */
|
|
const NO_HISTORY_LENGTH = 1;
|
|
|
|
/**
|
|
* «← Вернуться назад» — как в старом коде: если страница открыта во фрейме, назад идёт верхнее окно,
|
|
* при ошибке доступа к нему (другой домен) — текущее.
|
|
* Если возвращаться некуда (вкладка открыта из списка отчётов), вызывается onNoHistory: в старом коде
|
|
* кнопка в этом случае ничего не делала — исправлено при проверке T-REP-21.
|
|
*/
|
|
export function goBack(onNoHistory: () => void): void {
|
|
if (window.history.length <= NO_HISTORY_LENGTH) {
|
|
onNoHistory();
|
|
return;
|
|
}
|
|
try {
|
|
if (window.top && window.top !== window) {
|
|
window.top.history.back();
|
|
} else {
|
|
window.history.back();
|
|
}
|
|
} catch {
|
|
window.history.back();
|
|
}
|
|
}
|