This commit is contained in:
lasta
2026-05-11 22:55:01 +09:00
parent 3663734781
commit 0f34a451fc
10 changed files with 634 additions and 29 deletions

View File

@@ -128,6 +128,33 @@ async function createProject() {
await loadProjects();
}
async function initializeCurrentProject() {
const configPath = $("configPath").value.trim();
if (!configPath) {
toast("Config path is required");
return;
}
if (!window.confirm("Reset current project crawl data (pages/entities/claims)?")) return;
const result = await api("/projects/reset", {
method: "POST",
body: JSON.stringify({
config_path: configPath,
project_name: state.selectedProject,
}),
});
state.selectedProject = result.name;
await loadProjects();
if (result.reset) {
const removedClaims = result.deleted?.claims ?? 0;
const removedEntities = result.deleted?.entities ?? 0;
const removedPages = result.deleted?.pages ?? 0;
$("crawlResult").textContent = `Reset done: pages ${removedPages}, entities ${removedEntities}, claims ${removedClaims}`;
toast(`Reset completed: ${result.name}`);
return;
}
$("crawlResult").textContent = `Project created: ${result.name}`;
toast(`Project created: ${result.name}`);
}
async function crawl() {
if (!state.selectedProject) return;
$("crawlResult").textContent = "Crawling one URL...";
@@ -414,6 +441,7 @@ document.querySelectorAll(".tab").forEach((tab) => {
$("refreshBtn").addEventListener("click", loadProjects);
$("createProjectBtn").addEventListener("click", createProject);
$("initProjectBtn").addEventListener("click", initializeCurrentProject);
$("discoverBtn").addEventListener("click", discover);
$("crawlBtn").addEventListener("click", crawl);
$("siteCrawlBtn").addEventListener("click", crawlSite);

View File

@@ -25,6 +25,7 @@
<input id="configPath" value="configs/perfume_subscription.yaml" aria-label="Config path" />
<button id="createProjectBtn" title="Create project">+</button>
</div>
<button id="initProjectBtn" class="full">Reset current project data</button>
<div id="projectList" class="list"></div>
</section>

View File

@@ -151,6 +151,10 @@ h2 {
gap: 8px;
}
#initProjectBtn {
margin-top: 8px;
}
.list {
display: grid;
gap: 8px;