Skip to content

feat: switch from angular/AJAX+Boostrap to HTMX+PicoCSS#345

Open
berezovskyi wants to merge 3 commits into
mainfrom
b-htmx
Open

feat: switch from angular/AJAX+Boostrap to HTMX+PicoCSS#345
berezovskyi wants to merge 3 commits into
mainfrom
b-htmx

Conversation

@berezovskyi

@berezovskyi berezovskyi commented Jan 18, 2025

Copy link
Copy Markdown
Member

I spent 3 hours updating Angular 10 to 11 yesterday and the migration is not fully complete. Mind you, the current version of Angular is 19 and the recommendation is to upgrade only one major version at a time.

Now I spent just 2 hours to write a complete delegated dialog implementation using HTMX instead of making AJAX requests and using Angular to dynamically render results.

Instead, HTMX is a hypermedia framework that is declaratively configured to make HTTP requests and place responses into the HTML DOM. OSLC, being an LDP REST API built with hypermedia principles at heart is perfectly aligned with HTMX. A lot of code can be removed as a result.

One of the best things is that HTMX does not intend to make breaking change like modern frontend frameworks and be more like jQuery in terms of stability. I think it's a perfect fit for the refimpl that needs to reduce the maintenance burden.

Screen.Recording.2025-01-18.at.14.23.29.mov

Comment on lines +22 to +34
<aside>
<nav>
<ul>
<c:forEach var="requirement" items="${resources}">
<li>
<a href="${requirement.about}"
onclick="sendOslcSelectionPostMessage(this, event)"
>${requirement.title}</a>
</li>
</c:forEach>
</ul>
</nav>
</aside>

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this tiny bit of HTML is what gets rendered every time HTMX makes a search request and it dynamically replaces the contents of the #search-results div with this content returned by the server. Simple and easy.

@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 7f598be to b3d8e02 Compare January 23, 2025 07:41
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 513467a to d3a4031 Compare February 22, 2025 07:41
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from b25d924 to 4cb0c01 Compare March 5, 2025 07:42
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from ab8d340 to b8d6411 Compare April 15, 2025 07:43
@github-actions github-actions Bot force-pushed the b-htmx branch 3 times, most recently from 72e2710 to 707ebc9 Compare May 16, 2025 07:42
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 254d884 to fc40afc Compare June 28, 2025 07:42
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 024f893 to 74ba99c Compare July 6, 2025 07:42
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 66bcc5a to b610c33 Compare July 13, 2025 07:44
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from b91907a to d1c1216 Compare July 20, 2025 07:44
@github-actions github-actions Bot force-pushed the b-htmx branch 3 times, most recently from 3485858 to 44a1d94 Compare August 10, 2025 07:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI review requested due to automatic review settings January 27, 2026 07:50
@github-actions github-actions Bot force-pushed the b-htmx branch 2 times, most recently from 2987674 to cd19f3f Compare January 27, 2026 07:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI review requested due to automatic review settings February 26, 2026 08:05
@berezovskyi berezovskyi removed the request for review from Copilot February 26, 2026 08:05
Copilot AI review requested due to automatic review settings March 29, 2026 08:02
@berezovskyi berezovskyi removed the request for review from Copilot March 29, 2026 08:02
Copilot AI review requested due to automatic review settings April 11, 2026 08:05
@berezovskyi berezovskyi removed the request for review from Copilot April 11, 2026 08:05
Copilot AI review requested due to automatic review settings June 21, 2026 10:53
@berezovskyi berezovskyi removed the request for review from Copilot June 21, 2026 10:53
Copilot AI review requested due to automatic review settings June 28, 2026 10:13
@berezovskyi berezovskyi removed the request for review from Copilot June 28, 2026 10:13
Signed-off-by: Andrew Berezovskyi <andriib@kth.se>
Signed-off-by: Andrew Berezovskyi <andriib@kth.se>
Signed-off-by: Andrew Berezovskyi <andriib@kth.se>
Copilot AI review requested due to automatic review settings June 29, 2026 12:15
@berezovskyi berezovskyi removed the request for review from Copilot June 29, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants