Preserve install page scroll position
This commit is contained in:
@@ -4,6 +4,7 @@ const ConfigManager = require('./assets/js/configmanager')
|
|||||||
const ProfileAssetManager = require('./assets/js/profileassetmanager')
|
const ProfileAssetManager = require('./assets/js/profileassetmanager')
|
||||||
|
|
||||||
const installCatalogList = document.getElementById('installCatalogList')
|
const installCatalogList = document.getElementById('installCatalogList')
|
||||||
|
const installPageShell = document.querySelector('#installContainer .launcherPageShell')
|
||||||
|
|
||||||
let expandedProfileId = null
|
let expandedProfileId = null
|
||||||
|
|
||||||
@@ -187,6 +188,7 @@ function createExpandedDetail(profile, installed){
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function renderInstallView(){
|
async function renderInstallView(){
|
||||||
|
const previousScrollTop = installPageShell != null ? installPageShell.scrollTop : 0
|
||||||
installCatalogList.innerHTML = ''
|
installCatalogList.innerHTML = ''
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -314,6 +316,12 @@ async function renderInstallView(){
|
|||||||
errorCard.className = 'launcherCard'
|
errorCard.className = 'launcherCard'
|
||||||
errorCard.innerHTML = '<h3 class="launcherCardTitle">카탈로그 로드 실패</h3><p class="launcherCardDescription">관리자가 등록한 카탈로그를 읽지 못했습니다.</p>'
|
errorCard.innerHTML = '<h3 class="launcherCardTitle">카탈로그 로드 실패</h3><p class="launcherCardDescription">관리자가 등록한 카탈로그를 읽지 못했습니다.</p>'
|
||||||
installCatalogList.appendChild(errorCard)
|
installCatalogList.appendChild(errorCard)
|
||||||
|
} finally {
|
||||||
|
if(installPageShell != null){
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
installPageShell.scrollTop = previousScrollTop
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user