Harden admin modal button handling
Some checks failed
Build / release (macos-latest) (push) Has been cancelled
Build / release (ubuntu-latest) (push) Has been cancelled
Build / release (windows-latest) (push) Has been cancelled
Windows Smoke Test / windows-smoke (push) Has been cancelled

This commit is contained in:
2026-05-05 23:04:42 +09:00
parent 9391a7639b
commit 7c7357e44e
2 changed files with 33 additions and 34 deletions

View File

@@ -396,12 +396,14 @@ async function uploadIntoField(targetField, accept){
function openDistributionEditorModal(){
distributionEditorModal.hidden = false
distributionEditorModal.style.display = 'flex'
document.body.style.overflow = 'hidden'
clearDistributionEditorStatus()
}
function closeDistributionEditorModal(){
distributionEditorModal.hidden = true
distributionEditorModal.style.display = 'none'
document.body.style.overflow = ''
clearDistributionEditorStatus()
}
@@ -513,35 +515,6 @@ async function saveDistributionFile(){
}
function bindDistributionEditor(){
editDistributionButton.addEventListener('click', async () => {
await openDistributionEditor('edit')
})
createDistributionButton.addEventListener('click', async () => {
await openDistributionEditor('create')
})
closeDistributionEditorButton.addEventListener('click', () => {
closeDistributionEditorModal()
})
loadDistributionTemplateButton.addEventListener('click', async () => {
try {
await loadDistributionTemplate()
updateDistributionEditorHint(getSelectedProfile(), '')
showStatus('distribution 템플릿을 다시 불러왔습니다.', 'success')
showDistributionEditorStatus('샘플을 다시 불러왔습니다.', 'success')
} catch (error) {
console.error(error)
showStatus(error instanceof Error ? error.message : 'distribution 템플릿을 불러오지 못했습니다.', 'error')
showDistributionEditorStatus(error instanceof Error ? error.message : 'distribution 템플릿을 불러오지 못했습니다.', 'error')
}
})
saveDistributionFileButton.addEventListener('click', async () => {
await saveDistributionFile()
})
distributionEditorModal.addEventListener('click', (event) => {
if(event.target === distributionEditorModal){
closeDistributionEditorModal()
@@ -555,6 +528,31 @@ function bindDistributionEditor(){
})
}
window.__launcherAdminOpenDistributionEditor = async (mode) => {
await openDistributionEditor(mode)
}
window.__launcherAdminCloseDistributionEditor = () => {
closeDistributionEditorModal()
}
window.__launcherAdminLoadDistributionTemplate = async () => {
try {
await loadDistributionTemplate()
updateDistributionEditorHint(getSelectedProfile(), '')
showStatus('distribution 템플릿을 다시 불러왔습니다.', 'success')
showDistributionEditorStatus('샘플을 다시 불러왔습니다.', 'success')
} catch (error) {
console.error(error)
showStatus(error instanceof Error ? error.message : 'distribution 템플릿을 불러오지 못했습니다.', 'error')
showDistributionEditorStatus(error instanceof Error ? error.message : 'distribution 템플릿을 불러오지 못했습니다.', 'error')
}
}
window.__launcherAdminSaveDistributionFile = async () => {
await saveDistributionFile()
}
async function loadMeta(){
const response = await fetch('/api/meta')
const meta = await response.json()
@@ -694,6 +692,7 @@ function bindTopLevelActions(){
}
async function bootstrap(){
closeDistributionEditorModal()
bindProfileForm()
bindDistributionEditor()
bindTopLevelActions()