Add HTML5 project creation form
This commit is contained in:
@@ -10,9 +10,6 @@ from sir import NodeKind, SirSnapshot
|
||||
|
||||
def render_html5_index(projects: Iterable[object]) -> str:
|
||||
project_list = list(projects)
|
||||
project_rows = "\n".join(_project_row(project) for project in project_list)
|
||||
if not project_rows:
|
||||
project_rows = '<tr><td colspan="4" class="muted">Проекты пока не настроены</td></tr>'
|
||||
return _page(
|
||||
"SFERA HTML5",
|
||||
f"""
|
||||
@@ -33,12 +30,13 @@ def render_html5_index(projects: Iterable[object]) -> str:
|
||||
<h2>Проекты</h2>
|
||||
<a class="button" href="/docs">API docs</a>
|
||||
</div>
|
||||
{render_html5_project_create_form()}
|
||||
<div class="table-wrap">
|
||||
<table data-html5-projects>
|
||||
<thead>
|
||||
<tr><th>Проект</th><th>Статус</th><th>Snapshot</th><th></th></tr>
|
||||
</thead>
|
||||
<tbody>{project_rows}</tbody>
|
||||
<tbody data-html5-projects-body>{render_html5_project_rows(project_list)}</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
@@ -47,6 +45,31 @@ def render_html5_index(projects: Iterable[object]) -> str:
|
||||
)
|
||||
|
||||
|
||||
def render_html5_project_create_form() -> str:
|
||||
return """
|
||||
<form
|
||||
class="create-project"
|
||||
method="post"
|
||||
action="/html5/projects"
|
||||
data-html5-project-create
|
||||
hx-post="/html5/projects"
|
||||
hx-target="[data-html5-projects-body]"
|
||||
hx-swap="innerHTML"
|
||||
>
|
||||
<input name="project_id" placeholder="project_id" required />
|
||||
<input name="name" placeholder="Название проекта" />
|
||||
<button type="submit">Создать</button>
|
||||
</form>
|
||||
"""
|
||||
|
||||
|
||||
def render_html5_project_rows(projects: Iterable[object]) -> str:
|
||||
project_rows = "\n".join(_project_row(project) for project in projects)
|
||||
if not project_rows:
|
||||
return '<tr><td colspan="4" class="muted">Проекты пока не настроены</td></tr>'
|
||||
return project_rows
|
||||
|
||||
|
||||
def render_html5_editor(
|
||||
*,
|
||||
project_id: str,
|
||||
|
||||
Reference in New Issue
Block a user