feat: add folder picker to new pod scaffold
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 32s

This commit is contained in:
jade
2026-09-09 17:52:12 +09:00
parent e1908b4b7a
commit 17d9f3cb77
2 changed files with 21 additions and 4 deletions

View File

@@ -884,10 +884,18 @@
<form id="newPodForm"> <form id="newPodForm">
<div class="mb-4"> <div class="mb-4">
<label class="form-label">Workspace Path</label> <label class="form-label">Workspace Path</label>
<input type="text" class="form-control" name="workspacePath" <div class="input-group">
value="C:\eGovFrameDev-4.3.1-64bit\workspace" <input type="text" class="form-control" name="workspacePath" id="newPodWorkspacePathInput"
placeholder="새 Pod 프로젝트를 만들 workspace 경로" required> value="C:\eGovFrameDev-4.3.1-64bit\workspace"
<div class="input-hint">입력한 workspace 바로 아래에 새 프로젝트 폴더가 생성됩니다.</div> placeholder="새 Pod 프로젝트를 만들 workspace 경로" required>
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" style="border-color: #3f3f46; color: #a1a1aa;">폴더 선택</button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-dark" style="background-color: #18181b; border-color: #3f3f46;">
<li><a class="dropdown-item" href="#" onclick="const input = document.getElementById('newPodWorkspacePathInput'); input.value='C:\\eGovFrameDev-4.3.1-64bit\\workspace'; return false;" style="color: #f4f4f5;">workspace (기본)</a></li>
<li><hr class="dropdown-divider" style="border-color: #3f3f46;"></li>
<li><a class="dropdown-item" href="#" onclick="openServerFolderPicker('newPodWorkspacePathInput'); return false;" style="color: #f4f4f5;">폴더 선택(+)</a></li>
</ul>
</div>
<div class="input-hint">직접 경로를 입력하거나 우측 <b>[폴더 선택]</b>에서 workspace를 선택하세요. 선택한 workspace 바로 아래에 새 프로젝트가 생성됩니다.</div>
</div> </div>
<div class="mb-4"> <div class="mb-4">
<label class="form-label">New Module Name</label> <label class="form-label">New Module Name</label>

View File

@@ -93,6 +93,15 @@ class ScaffoldingControllerToolDraftTest {
} }
} }
@Test
void newPodFormProvidesTheSameServerFolderPickerAsTheLegacyPodForm() throws Exception {
try (var pageStream = getClass().getResourceAsStream("/static/admin/scaffold.html")) {
String page = new String(java.util.Objects.requireNonNull(pageStream).readAllBytes(), StandardCharsets.UTF_8);
assertTrue(page.contains("id=\"newPodWorkspacePathInput\""));
assertTrue(page.contains("openServerFolderPicker('newPodWorkspacePathInput')"));
}
}
@Test @Test
void usesRenamedDasmtWorkspaceByDefault() { void usesRenamedDasmtWorkspaceByDefault() {
assertTrue(ScaffoldingController.DEFAULT_WORKSPACE.endsWith("dat-was-dasmt")); assertTrue(ScaffoldingController.DEFAULT_WORKSPACE.endsWith("dat-was-dasmt"));