djhtmx 1.2.3__tar.gz → 1.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {djhtmx-1.2.3 → djhtmx-1.2.5}/CHANGELOG.md +13 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/PKG-INFO +1 -1
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/__init__.py +1 -1
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/command_queue.py +4 -4
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/templatetags/htmx.py +1 -5
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/urls.py +1 -1
- {djhtmx-1.2.3 → djhtmx-1.2.5}/.gitignore +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/LICENSE +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/MANIFEST.in +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/README.md +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/pyproject.toml +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/apps.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/commands.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/component.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/consumer.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/context.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/exceptions.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/global_events.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/introspection.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/json.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/management/commands/htmx.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/middleware.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/query.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/repo.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/settings.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/ext/ws.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.amd.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.cjs.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.esm.d.ts +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.esm.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/2.0.4/htmx.min.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/static/htmx/django.js +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/templates/htmx/headers.html +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/templates/htmx/lazy.html +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/templatetags/__init__.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/testing.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/tracing.py +0 -0
- {djhtmx-1.2.3 → djhtmx-1.2.5}/src/djhtmx/utils.py +0 -0
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.5] - 2025-12-05
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Fixed Destroy of component to use proper hx-swap-oob="delete" syntax
|
|
14
|
+
|
|
15
|
+
## [1.2.4] - 2025-10-29
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Prioritize Destroy commands to prevent stale component access - fixes race condition where signals would awaken components whose model instances were already deleted
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- Code quality improvements (Ruff suggestions for ternary operators)
|
|
22
|
+
|
|
10
23
|
## [1.2.3] - 2025-10-09
|
|
11
24
|
|
|
12
25
|
### Fixed
|
|
@@ -124,12 +124,12 @@ class CommandQueue:
|
|
|
124
124
|
match command:
|
|
125
125
|
case Execute():
|
|
126
126
|
return 0, "", 0
|
|
127
|
+
case Destroy(component_id):
|
|
128
|
+
return 1, component_id, 0
|
|
127
129
|
case Signal(_, timestamp):
|
|
128
|
-
return 1, "", timestamp
|
|
129
|
-
case Emit(_, timestamp):
|
|
130
130
|
return 2, "", timestamp
|
|
131
|
-
case
|
|
132
|
-
return 3, "",
|
|
131
|
+
case Emit(_, timestamp):
|
|
132
|
+
return 3, "", timestamp
|
|
133
133
|
case SkipRender():
|
|
134
134
|
return 4, "", 0
|
|
135
135
|
case BuildAndRender(_, _, _, _, timestamp):
|
|
@@ -138,11 +138,7 @@ def hx_tag(context: Context):
|
|
|
138
138
|
def oob(context: Context, suffix: str):
|
|
139
139
|
oob = context.get("hx_oob")
|
|
140
140
|
context["hx_oob"] = False
|
|
141
|
-
if (component := context.get("this"))
|
|
142
|
-
component_id = component.id
|
|
143
|
-
else:
|
|
144
|
-
component_id = None
|
|
145
|
-
|
|
141
|
+
component_id = component.id if (component := context.get("this")) else None
|
|
146
142
|
id = "-".join(filter(None, (component_id, suffix)))
|
|
147
143
|
return format_html_attrs({"id": id, "hx-swap-oob": "true" if oob else None})
|
|
148
144
|
|
|
@@ -45,7 +45,7 @@ def endpoint(request: HttpRequest, component_name: str, component_id: str, event
|
|
|
45
45
|
case Destroy(component_id):
|
|
46
46
|
content.append(
|
|
47
47
|
format_html(
|
|
48
|
-
'<div hx-swap-oob="
|
|
48
|
+
'<div id="{component_id}" hx-swap-oob="delete"></div>',
|
|
49
49
|
component_id=component_id,
|
|
50
50
|
)
|
|
51
51
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|