Juro Oravec
04f79a6e6b
refactor: deprecate Component.input and add raw_args, raw_kwargs, raw_slots ( #1233 )
...
* refactor: deprecate Component.input and add raw_args, raw_kwargs, raw_slots
* docs: update changelog
2025-06-04 23:38:50 +02:00
Juro Oravec
eceebb9696
feat: on_render ( #1231 )
...
* feat: on_render
* docs: fix typos
* refactor: fix linter errors
* refactor: make `error` in on_render_after optional to fix benchmarks
* refactor: benchmark attempt 2
* refactor: fix linter errors
* refactor: fix formatting
2025-06-04 19:30:03 +02:00
Juro Oravec
46e524e37d
refactor: Add Node metadata ( #1229 )
...
* refactor: `Slot.source` replaced with `Slot.fill_node`, new `Component.node` property, and `slot_node` available in `on_slot_rendered()` hook.
* refactor: fix windows path error in tests
2025-06-03 12:58:48 +02:00
Juro Oravec
8677ee7941
refactor: deprecate template caching, get_template_name, get_template, assoc template with Comp cls ( #1222 )
...
* refactor: deprecate template caching, get_template_name, get_template, assoc template with Comp cls
* refactor: change implementation
* refactor: handle cached template loader
* refactor: fix tests
* refactor: fix test on windows
* refactor: try to fix type errors
* refactor: Re-cast `context` to fix type errors
* refactor: fix linter error
* refactor: fix typing
* refactor: more linter fixes
* refactor: more linter errors
* refactor: revert extra node metadata
2025-06-01 19:20:22 +02:00
Juro Oravec
bb129aefab
feat: extension defaults + docs + API cleanup ( #1215 )
2025-05-26 23:36:19 +02:00
Juro Oravec
55b1c8bc62
refecator: move defaults applying back to ext, raise on passing Slot to Slot, and docs cleanup ( #1214 )
...
* refecator: move defaults applying back to ext, raise on passing Slot to Slot, and docs cleanup
* docs: fix typo
2025-05-26 11:59:17 +02:00
Juro Oravec
bae0f28813
refactor: Instantiate component when rendering, and remove metadata stack ( #1212 )
...
* refactor: Instantiate component when rendering, and remove metadata stack
* refactor: update test
* refactor: fix linter errors
* docs: remove example from changelog
2025-05-25 23:33:38 +02:00
Juro Oravec
2e08af9a13
refactor: move slot escaping inside Slot, remve Slot.escaped, and remove render kwarg escape_slots_content
( #1211 )
2025-05-25 17:24:45 +02:00
Juro Oravec
046569e16d
fix: KeyError on component_context_cache when slot rendered outside ( #1210 )
2025-05-25 11:58:17 +02:00
Juro Oravec
6ff2d78a2f
feat: on_slot_rendered extension hook + refactor debug highlight as extension ( #1209 )
...
* feat: on_slot_rendered extension hook + refactor debug highlight as extension
* refactor: fix whitespace in test output
2025-05-25 11:20:32 +02:00
Juro Oravec
e054a68715
feat: Component.args/kwargs/slots and {{ component_vars.args/kwargs/s… ( #1205 )
...
* feat: Component.args/kwargs/slots and {{ component_vars.args/kwargs/slots }}
* docs: fix typo in changelog
2025-05-24 23:24:34 +02:00
Juro Oravec
f069255b64
refactor: simplify slot API ( #1202 )
...
Closes #1096
2025-05-20 09:48:45 +02:00
Juro Oravec
49ad23b21d
refactor: slots cleanup ( #1199 )
2025-05-19 19:56:27 +02:00
Juro Oravec
b6b574d875
refactor: Rename {% fill default=... %}
to {% fill fallback=... %}
( #1190 )
2025-05-19 19:05:39 +02:00
Juro Oravec
0d05ef4cb2
feat: Expose slot input as Slot.contents ( #1180 )
...
* feat: expose slot input as Slot.contents
* refactor: fix linter errors
2025-05-14 11:17:09 +02:00
Juro Oravec
ccf02fa316
chore: util to manage URLs in the codebase ( #1179 )
...
* chore: util to manage URLs in the codebase
* docs: mentiion validate_links and supported_versions in docs
* refactor: fix linter errors
2025-05-11 14:59:34 +02:00
Juro Oravec
5f4fbe76e5
feat: add BaseNode.contents ( #1177 )
2025-05-11 08:11:07 +02:00
Juro Oravec
6253042e9e
refactor: remove middleware, add strategy "raw", and call render_deps() from within Template.render() ( #1166 )
...
* refactor: remove middleware, add strategy "raw", and call render_deps() from within Template.render()
* refactor: fix formatting
* refactor: fix benchmark tests
* refactor: avoid processing deps if rendered HTML contains no components
* refactor: remove comments
* refactor: rename "raw" to "ignore"
2025-05-06 21:36:41 +02:00
Juro Oravec
d4d834256a
refactor: rename context_data
field to template_data
( #1162 )
2025-05-04 01:49:54 +02:00
Juro Oravec
28b61c1609
refactor: Update docs and tests to use get_template_data() ( #1161 )
...
* refactor: update docs and tests to use get_template_data()
* refactor: fix linting
* docs: add note about difference between the two methods
2025-05-03 12:04:10 +02:00
Juro Oravec
bf7a204e92
feat: add "simple", "prepend", and "append" render types ( #1156 )
...
* feat: add "simple", "prepend", and "append" render types
* refactor: explicitly set strategy for "document" in tests
2025-05-02 15:07:16 +02:00
Juro Oravec
59f82307ae
docs: docstrings, fundamentals, and minor changes ( #1145 )
...
* docs: docstrings, fundamentals, and minor changes
* refactor: fix tests + linter errors
2025-04-24 12:47:04 +02:00
Juro Oravec
519529d4e4
refactor: move Url.public to View.public ( #1140 )
...
* refactor: move Url.public to View.public
* refactor: fix tests / imports
2025-04-21 23:12:40 +02:00
Juro Oravec
b49002b545
refactor: change component typing from generics to class attributes ( #1138 )
2025-04-20 22:05:29 +02:00
Oliver Haas
e0b718c314
test: test to illustrate bug in component caching when using include tag ( #1135 )
...
* test: test to illustrate bug in component caching when using include tag
* fix: add cleanup for render context in component rendering
* refactor: clarify cleanup comment in component rendering logic
* refactor: fix linter errors
* test: formatting and unnecessary test setup
---------
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-04-20 11:53:06 +02:00
Juro Oravec
c650e7f3a5
refactor: prefix component ID with c
( #1127 )
2025-04-14 12:01:16 +02:00
Juro Oravec
fc026cbd99
docs: update section on working with request object ( #1126 )
...
* docs: update section on working with request object
* refactor: fix linting
2025-04-14 11:35:48 +02:00
Juro Oravec
06cad2ec64
refactor: use typevar defaults + raise on conflicting extensions ( #1125 )
...
* refactor: use typevar defaults + raise on conflicting extensions
* refactor: fix linter errors
2025-04-14 10:00:18 +02:00
Juro Oravec
613dfea379
refactor: cleanup docs, add docs on Render API, allow get_context_data return None ( #1110 )
...
* refactor: cleanup docs, add docs on Render API, allow get_context_data return None
* refactor: fix linter and tests
2025-04-09 15:06:14 +02:00
Juro Oravec
b6994e9ad3
feat: component caching ( #1097 )
...
* feat: allow to set defaults
* refactor: remove input validation and link to it
* feat: component URL
* feat: component caching
* refactor: Mark `OnComponentRenderedContext` as extension hook for docs
* docs: update changelog
* refactor: simplify hash methods
2025-04-08 11:54:39 +02:00
Juro Oravec
bb5de86b69
feat: expose _class_hash as class_id ( #1094 )
...
* feat: expose _class_hash as class_id
* refactor: fix linting
2025-04-07 11:08:02 +02:00
Juro Oravec
a49f5e51dd
feat: component URL ( #1088 )
...
* feat: allow to set defaults
* refactor: remove input validation and link to it
* feat: component URL
* refactor: fix linter errors
* refactor: fix linter errors + update examples to use Component.View..get
* docs: update comment
* refactor: revert change to hash_comp_cls
* docs: update comment
2025-04-07 10:44:41 +02:00
Juro Oravec
7e74831599
refactor: remove input validation and link to it ( #1082 )
...
* feat: allow to set defaults
* refactor: remove input validation and link to it
* docs: update changelog
* Update typing_and_validation.md
* Update typing_and_validation.md
2025-04-05 08:19:19 +02:00
Juro Oravec
f07818fc7d
feat: allow to set defaults ( #1072 )
...
* feat: allow to set defaults
* docs: update changelog
* refactor: fix new linter errors
2025-03-31 10:38:41 +02:00
Juro Oravec
107284f474
feat: registry.has(); helpers to get all components and registries; access component from ext class ( #1030 )
...
* feat: registry.has(); helpers to get all components and registries; access component from ext class
* refactor: add missing import
2025-03-18 11:30:53 +01:00
Juro Oravec
12a64f8e41
feat: allow extensions to add url views ( #1025 )
...
* feat: allow extensions to add url views
* refactor: fix linter errors
2025-03-17 08:36:47 +01:00
Juro Oravec
d3d2d0ab08
feat: allow extensions to add commands ( #1017 )
...
* feat: allow extensions to add commands
* refactor: fix tests
* refactor: more test fix
* refactor: more test fixes
* refactor: more linter fixes
2025-03-16 12:03:16 +01:00
Juro Oravec
4d35bc97a2
feat: extensions ( #1009 )
...
* feat: extensions
* refactor: remove support for passing in extensions as instances
2025-03-08 09:41:28 +01:00
Juro Oravec
7dfcb447c4
feat: add decorator for writing component tests ( #1008 )
...
* feat: add decorator for writing component tests
* refactor: udpate changelog + update deps pins
* refactor: fix deps
* refactor: make cached_ref into generic and fix linter errors
* refactor: fix coverage testing
* refactor: use global var instead of env var for is_testing state
2025-03-02 19:46:12 +01:00
lilian D
8b5579d2be
feat:forward context processors variables in context in ISOLATED mode ( #975 )
...
* feat:forward context processors variables in context in ISOLATED mode
provide context_processors_data property to Component to access those variables in Component
* refactor: internalize RequestContext and pass HttpRequest internally
* docs: document HttpRequest and context processors
---------
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-20 11:06:49 +01:00
lilian D
58d4c78671
Bug : Relative path in extends
and include
does not work when using template_file ( #976 )
...
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-16 13:29:37 +01:00
Juro Oravec
eb3f72ee0d
refactor: fix bug with complex slots and "django" mode + add docs on debugging with AI agents ( #956 )
2025-02-11 10:57:37 +01:00
Juro Oravec
48bae51ab9
feat: allow to configure media cache (for JS and CSS files) ( #946 )
2025-02-03 21:24:26 +01:00
Juro Oravec
de32d449d9
feat: allow to highlight slots and components for debugging ( #942 )
2025-02-02 10:14:47 +01:00
Juro Oravec
96f48bc013
refactor: fix on_render_after hook ( #941 )
2025-02-01 17:39:56 +01:00
Juro Oravec
588053803d
refactor: fix component recursion ( #936 )
2025-02-01 17:19:21 +01:00
Oliver Haas
f01ee1fe8a
fix: implement safe retrieval of component classes from registry ( #934 )
2025-02-01 11:08:35 +01:00
Juro Oravec
0b65761fce
refactor: replace bs4 and perf optimizations ( #927 )
2025-01-24 10:30:41 +01:00
Juro Oravec
92f5497c74
refactor: change repo name and URL after org migration ( #924 )
2025-01-22 16:02:46 +01:00
Juro Oravec
f908197850
feat: @template_tag and refactor how template tags are defined ( #910 )
2025-01-20 22:47:04 +01:00