diff --git a/admin/public/app.js b/admin/public/app.js index 28588dd..34b107c 100644 --- a/admin/public/app.js +++ b/admin/public/app.js @@ -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() diff --git a/admin/public/index.html b/admin/public/index.html index 691452e..843a825 100644 --- a/admin/public/index.html +++ b/admin/public/index.html @@ -116,8 +116,8 @@
프로필에 연결할 distribution.json 내용을 사이트 안에서 직접 관리합니다.