Skip to content

Commit

Permalink
Fix for reset button and reveal bug (#141)
Browse files Browse the repository at this point in the history
  • Loading branch information
uittenbroekrobbert authored Aug 16, 2024
2 parents 7614a1f + fa89941 commit 1b01a02
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 9 deletions.
2 changes: 1 addition & 1 deletion amt/api/routes/projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ async def get_root(

if request.state.htmx:
return templates.TemplateResponse(
request, "projects/_list.html.j2", {"projects": projects, "next": next, "search": search}
request, "projects/_list.html.j2", {"projects": projects, "next": next, "search": search, "limit": limit}
)

return templates.TemplateResponse(
Expand Down
9 changes: 5 additions & 4 deletions amt/site/templates/projects/_list.html.j2
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{% for project in projects %}
<li><a href="/project/{{ project.id }}">{{ project.name }}</a></li>
{% if loop.last and projects|length == limit %}
<li data-marker="last-element" hx-get="/projects/?skip={{ next }}&search={{ search }}" hx-swap="afterend" hx-trigger="revealed"><a href="/project/{{ project.id }}">{{ project.name }}</a></li>
{% else %}
<li><a href="/project/{{ project.id }}">{{ project.name }}</a></li>
{% endif %}
{% endfor %}
{% if projects|length > 0 %}
<li hx-get="/projects/?skip={{ next }}&search={{ search }}" hx-swap="outerHTML" hx-trigger="revealed">More</li>
{% endif %}
10 changes: 9 additions & 1 deletion amt/site/templates/projects/index.html.j2
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,15 @@
id="project-search-input"
/>
</label>
<input type="reset" value="X" style="position: relative; margin-left: -30px" />
<input type="reset"
value="X"
style="position: relative; margin-left: -30px"
hx-trigger="click"
hx-get="/projects/?skip=0"
hx-target="#project-search-results"
hx-indicator=".htmx-indicator"
hx-swap="innerHTML"
/>
</form>

<ul class="project-list" id="project-search-results">
Expand Down
8 changes: 5 additions & 3 deletions tests/e2e/test_scroll_project.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pytest
from playwright.sync_api import Page
from playwright.sync_api import Page, expect


@pytest.mark.slow()
Expand All @@ -8,10 +8,12 @@ def test_e2e_scroll_projects(page: Page) -> None:

project_links = page.locator(".project-list > li").count()

assert 90 <= project_links <= 101
assert project_links == 100

expect(page.locator('[data-marker="last-element"]')).to_be_visible()

with page.expect_response("/projects/?skip=100&search=", timeout=3000) as response_info:
page.get_by_text("More").scroll_into_view_if_needed()
page.locator('[data-marker="last-element"]').scroll_into_view_if_needed()

response = response_info.value
assert response.status == 200
Expand Down

0 comments on commit 1b01a02

Please sign in to comment.