Emil Stenström
f5c3f64c86
Handle case with SETTINGS_MODULE not set.
2022-07-18 09:23:04 +02:00
Emil Stenström
681c540cb7
Can't use wahlrus operator in old pythons.
2022-07-18 09:21:10 +02:00
Emil Stenström
18ee5ad3b0
Autodetect components inside component subdirectories to make setup easier.
2022-07-18 09:13:03 +02:00
Emil Stenström
58c6e476f1
Automitically load component templates from directory where settings.py files is (old style), and from settings.py parent dir (new style).
2022-07-17 13:26:27 +02:00
Emil Stenström
29e6d1a4a0
Delay loading component until rendering, and clean up usage of component variable.
2022-07-14 12:47:06 +02:00
pre-commit-ci[bot]
16065367d5
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2022-07-14 10:34:34 +02:00
AIT ALI EL HOSAYN
bfd55f9fbe
Component name as variable
...
I have removed the exception raising when a variable without quotes is given, and keep the variable name until the render function where I'm resolving it if it's a String (which means it's a variable, not a component) then I'm moving the slot parts which relies on the component from __init__ to render after getting the component.
2022-07-14 10:34:34 +02:00
Emil Stenström
77e4cdc543
Remove deprecation warning in Django > 3.2.
2022-07-14 09:45:42 +02:00
David Guillot
f67cd37dea
feat(templatetags): fix #143 , ability to preload components
2022-04-29 00:06:06 +02:00
David Guillot
021339d4a7
refactor(templatetags): make _RENDERED comment a constant
2022-04-29 00:01:50 +02:00
Hanif Birgani
b5414d4920
Convert a single line long string to multi-line to pass flake8
2021-09-10 15:46:25 +04:30
pre-commit-ci[bot]
0648ad9a93
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-09-10 11:12:26 +00:00
Emil Stenström
a2f0e2246b
Require get_context_data set to accept parameters.
2021-09-10 12:29:47 +02:00
Real-Gecko
5fcabaa5ba
Renamed get_context
to get_context_data
2021-09-10 11:27:55 +02:00
Emil Stenström
5b9188cc9c
Refactored Component class
...
# Conflicts:
# README.md
# pyproject.toml
2021-09-10 11:27:28 +02:00
Real-Gecko
c1d090d5c0
Added template loader for component templates automatic discovery (thanks @Real-Gecko)
2021-08-30 22:51:03 +02:00
rbeard0330
e3c9ac76ce
Fix infinite recursion bug ( fixes #68 ) ( #74 )
...
* Add regression test for recursion bug, #68
* Only allow slots to access slot nodelists provided to their immediate parent component to prevent infinite recursions.
* Fix import ordering bug in test
* Add slot.super to docs
Remove unused imports
* Bump version
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-07-06 11:56:49 -04:00
Emil Stenström
a5bd0cf2e3
Rework slot management to avoid nodelist copying ( fixes #64 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-05-30 18:46:11 +02:00
rbeard0330
070b754d24
Improve slot handling to allow nested components, conditional slots, and slot.super ( Fixes #33 , #34 , #37 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-05-26 00:59:46 +02:00
Emil Stenström
57a5aa0f4b
Only render dependencies that are used of a specific page ( #52 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-03-24 22:47:48 +01:00
Emil Stenström
b8f14404ac
Allow simpler definition of Media class.
2021-03-10 22:36:42 +01:00
Emil Stenström
c67fd29bdd
Move in_slot_node helper into Component class.
2021-03-10 17:47:51 +01:00
Emil Stenström
b9446c2818
Add support for calling register as a decorator ( #38 )
2021-02-27 16:38:16 +01:00
Dan Jacob
10a117ee88
Class decorator and test
2021-02-27 16:49:06 +02:00
Emil Stenström
07986c5216
Caching templates to allow for dynamic template generation
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-02-15 21:07:14 +01:00
Emil Stenström
8f2440a757
Remove six.
2021-02-12 22:38:58 +01:00
Emil Stenström
2c95b0930f
Remove support for Python < 3.6 and Django < 2.2.
2021-02-12 21:10:33 +01:00
rbeard0330
87f9994c81
Performance (+50%): Compile ComponentNode at creation, not render ( #22 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-02-06 10:09:57 +01:00
Dan Jacob
4df314b7f6
Autodiscover components in components.py inside an app ( #24 )
...
Co-authored-by: @danjac
2021-02-05 21:31:09 +01:00
rbeard0330
1ea86fc50d
Create cloned template for rendering so test instrumentation works.
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-01-31 23:18:04 +01:00
rbeard0330
2633c3f08f
Pass context into component tags by default, and let components disable with "only" ( #20 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2021-01-25 12:31:54 +01:00
rbeard0330
979dc82eda
Fix bug where template with multiple component_block tags could raise KeyError ( #19 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2020-12-30 08:01:57 +01:00
rbeard0330
93b8a7404a
Rework of context handling ( #18 )
...
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2020-12-28 10:40:35 +01:00
rbeard0330
be0a75e2a3
Missing context variables and kwargs in component_block ( #17 )
...
* Fix issue with missing variables by binding template to context in Component.render method.
* Pass extra_context to Component.render()
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
2020-12-14 18:25:36 +01:00
Emil Stenström
4c14675c3a
Support specifying block names with single quotes.
...
Fixes #15
2020-12-08 23:41:10 +01:00
Emil Stenström
34098c375a
Sort imports to isort is happy.
2020-11-02 15:08:26 +01:00
Bradley Stuart Kirton
77e5e03e45
Replace generators with for loops and lists
2020-07-10 13:07:51 +02:00
Bradley Stuart Kirton
2c644d4c06
Add pytest-cov
...
Apply black formatting
Add component_css_dependencies_tag and component_js_dependencies_tag tags
Add convenience methods render_css_dependencies and render_js_dependencies to component class
Create additional test cases
Add license to setup.py
Add pytest.ini config file
2020-07-10 13:07:51 +02:00
Emil Stenström
1e42e2508e
Remove stray log statements.
2020-06-08 00:05:39 +02:00
Emil Stenström
5f63a6a6bd
Add test for component with undefined template method.
2020-06-07 17:07:24 +02:00
Emil Stenström
b2f61b61ad
Fix flake8.
2020-06-07 08:45:54 +02:00
Emil Stenström
b5eb6f4db1
Call parse_bits in django < 2.0 compatible way.
2020-06-06 11:27:07 +02:00
Emil Stenström
24369fce80
Make parse_bits call backwards compatible.
2020-06-06 09:36:21 +02:00
Emil Stenström
9811a88904
Add backwards compatible getfullargspec and TokenType.
2020-06-06 09:29:51 +02:00
Emil Stenström
d1405dda13
Add slots to components that can be filled when using component.
2020-06-06 09:11:27 +02:00
Emil Stenström
b2726a6832
Contain all registry logic in helper methods.
2020-06-06 09:07:23 +02:00
Emil Stenström
40ebd6b936
Install isort and fix all imports.
2019-11-24 11:09:14 +01:00
Emil Stenström
cbe2bcc9c9
Use six to allow metaclass usage in both Python 2 and 3.
2019-11-24 10:57:55 +01:00
Emil Stenström
096057b33d
Use built-in django form assets instead of custom logic.
2019-11-24 10:31:23 +01:00
Emil Stenström
ebb180c540
Use list instead of tuple to avoid errors with missing comma.
2019-11-23 19:26:16 +01:00