Skip to content

Commit

Permalink
Update div structure, ids, hx-targets
Browse files Browse the repository at this point in the history
  • Loading branch information
ed-p-may committed Dec 11, 2024
1 parent 6c6d54f commit 8fe8cd7
Show file tree
Hide file tree
Showing 10 changed files with 84 additions and 96 deletions.
27 changes: 26 additions & 1 deletion webportal/templates/webportal/assemblies.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,31 @@

{% block content %}

{% include 'webportal/partials/assemblies/container.html' %}
<div class="relative text-white" id="assemblies-page">

<h1 class="mt-4 mb-6 text-2xl leading-none tracking-tight text-white md:text-3xl lg:text-4xl flex items-center mb-4">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="w-10 h-10 me-2"
className="size-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.4.604-.4.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.96.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z" />
</svg>
Assemblies
</h1>

<div id="assemblies-container" class="relative text-white">
<div id="assemblies-grid-container" class="flex flex-col md:grid md:grid-cols-5 md:gap-4">

{% include 'webportal/partials/assemblies/sidebar.html' %}
{% include 'webportal/partials/assemblies/assembly.html' %}

</div>
</div>

</div>

{% endblock %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<div id="assembly-detail-view">

<h1>assembly-detail-view {{ container.name }}</h1>

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<div id="assembly-name">
<form
hx-post="{% url 'update-assembly-name' assembly.id %}"
hx-target="#assembly"
hx-swap="outerHTML"
>
<input
type="text"
name="name"
class="text-black"
value="{{ assembly.name }}"
hx-trigger="changed delay:500ms"
/>
</form>
</div>
23 changes: 5 additions & 18 deletions webportal/templates/webportal/partials/assemblies/assembly.html
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@

<div id="assembly-name">

{{ assembly.id }}

<form
hx-post="{% url 'update-assembly-name' assembly.id %}"
hx-target="#assembly-name"
hx-swap="outerHTML"
>
<input
type="text"
name="name"
class="text-black"
value="{{ assembly.name }}"
hx-trigger="changed delay:500ms"
/>
</form>
<div id="assembly" class="col-span-4">
{% if assembly %}
{% include "webportal/partials/assemblies/assembly-name.html" %}
{% include "webportal/partials/assemblies/assembly-detail.html" %}
{% endif %}
</div>
28 changes: 0 additions & 28 deletions webportal/templates/webportal/partials/assemblies/container.html

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{% load widget_tweaks %}
{% load partials %}

<div class="col-span-1" >
<div id="assembly-sidebar" class="col-span-1">

{% include 'webportal/partials/assemblies/sidebar_list.html' with assemblies=assemblies active_assembly_id=active_assembly_id %}

<form
<form
id="assembly-sidebar-add-new-button"
hx-post="{% url 'add-new-assembly' %}"
hx-target="#assembly-detail-view"
hx-swap="innerHTML">
hx-target="#assembly"
hx-swap="outerHTML">
<button class="btn btn-success">Add New Assembly +</button>
</form>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<ul id="assembly-sidebar" hx-swap-oob="true">
<ul id="assembly-sidebar-list" hx-swap-oob="true">
{% for assembly in assemblies %}
<li class="cursor-pointer hover:underline">
<div
Expand All @@ -10,7 +10,8 @@
>
<a
hx-delete="{% url 'delete-assembly' assembly.pk %}"
hx-target="#assembly-detail-view"
hx-target="#assembly"
hx-swap="outerHTML"
hx-confirm="Delete?"
class="cursor-pointer">
<svg
Expand All @@ -27,8 +28,8 @@
</a>
<a
hx-get="{% url 'assembly' assembly.pk %}"
hx-target="#assembly-detail-view"
hx-swap="innerHTML"
hx-target="#assembly"
hx-swap="outerHTML"
>
{{ assembly.name }}
</a>
Expand Down
31 changes: 0 additions & 31 deletions webportal/templates/webportal/partials/assemblies/table.html

This file was deleted.

13 changes: 10 additions & 3 deletions webportal/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
# -----------------------------------------------------------------------------------
# -- Assemblies
path("assemblies/", views.assemblies_page, name="assemblies-page"),
path("assemblies/<int:pk>", views.assembly, name="assembly"),
path(
"assemblies/add-new-assembly", views.add_new_assembly, name="add-new-assembly"
),
path("assemblies/<int:pk>", views.assembly, name="assembly"),
path(
"assemblies/<int:pk>/update-assembly-name",
views.update_assembly_name,
Expand All @@ -40,6 +40,13 @@
views.delete_assembly,
name="delete-assembly",
),
path("<int:container_id>/add-row/", views.add_row, name="add_row"),
path("<int:container_id>/add-column/", views.add_column, name="add_column"),
# -----------------------------------------------------------------------------------
# -- Assembly Details
path(
"assemblies/<int:pk>/assembly-detail/",
views.assembly_detail,
name="assembly-detail",
),
path("assemblies/<int:pk>/add-row/", views.add_row, name="add-row"),
path("assemblies/<int:pk>/add-column/", views.add_column, name="add-column"),
]
20 changes: 13 additions & 7 deletions webportal/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def index(request: WSGIRequest) -> HttpResponse:


# ---------------------------------------------------------------------------------------
# -- Materials List View
# -- Materials-List Views


def _get_materials(request: WSGIRequest) -> dict:
Expand Down Expand Up @@ -221,7 +221,7 @@ def import_materials(request: WSGIRequest) -> HttpResponse:


# ---------------------------------------------------------------------------------------
# -- Assemblies Page
# -- Assembly-Views


@login_required
Expand Down Expand Up @@ -255,6 +255,10 @@ def assembly(request: WSGIRequest, pk: int) -> HttpResponse:
return HttpResponse(assembly_html + sidebar_html, content_type="text/html")


# ---------------------------------------------------------------------------------------
# -- Assembly-Operations


@login_required
@require_POST
def update_assembly_name(request: WSGIRequest, pk: int) -> HttpResponse:
Expand Down Expand Up @@ -283,17 +287,19 @@ def add_new_assembly(request: WSGIRequest) -> HttpResponse:
return assembly(request, new_assembly.pk)


@login_required
def delete_assembly(request: WSGIRequest, pk: int) -> HttpResponse:
this_assembly = get_object_or_404(Assembly, pk=pk)
this_assembly.delete()
return assembly(request, Assembly.objects.filter(user=request.user).first().pk)


# ---------------------------------------------------------------------------------------
# -- Assembly-Detail-Views


def grid_view(request, container_id):
container = get_object_or_404(Assembly, id=container_id)
def assembly_detail(request, pk):
container = get_object_or_404(Assembly, id=pk)
cells = container.cells.all()
max_x = cells.aggregate(max_x=models.Max("x"))["max_x"] or 0
max_y = cells.aggregate(max_y=models.Max("y"))["max_y"] or 0
Expand All @@ -312,8 +318,8 @@ def grid_view(request, container_id):
)


def add_row(request, container_id):
container = get_object_or_404(Assembly, id=container_id)
def add_row(request, pk):
container = get_object_or_404(Assembly, id=pk)
max_y = container.cells.aggregate(max_y=models.Max("y"))["max_y"] or 0
new_y = max_y + 1
max_x = container.cells.aggregate(max_x=models.Max("x"))["max_x"] or 0
Expand All @@ -329,7 +335,7 @@ def add_row(request, container_id):
return JsonResponse({"html": render_to_string("row.html", {"cells": new_cells})})


def add_column(request, container_id):
def add_column(request, pk):
container = get_object_or_404(Assembly, id=container_id)
max_x = container.cells.aggregate(max_x=models.Max("x"))["max_x"] or 0
new_x = max_x + 1
Expand Down

0 comments on commit 8fe8cd7

Please sign in to comment.