mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
[ADD] js_type
parameter to allow JS modules to be loaded
This commit is contained in:
parent
ef7c8be7b5
commit
2822775fb8
@ -8,14 +8,16 @@ class ThemeHook:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
name: str,
|
name: str,
|
||||||
description: str,
|
description: str,
|
||||||
css: List[dict],
|
css: List[dict],
|
||||||
js: List[dict],
|
js: List[dict],
|
||||||
css_template: Optional[str] = None,
|
css_template: Optional[str] = None,
|
||||||
js_template: Optional[str] = None,
|
js_template: Optional[str] = None,
|
||||||
html_tags: Optional[Union[dict, str]] = None,
|
js_type: Optional[str] = None,
|
||||||
header_padding: Optional[str] = "4em"):
|
html_tags: Optional[Union[dict, str]] = None,
|
||||||
|
header_padding: Optional[str] = "4em"
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
:param name: Theme python name
|
:param name: Theme python name
|
||||||
:type name: str
|
:type name: str
|
||||||
@ -29,11 +31,14 @@ class ThemeHook:
|
|||||||
:type css_template: Optional[str], optional
|
:type css_template: Optional[str], optional
|
||||||
:param js_template: _description_, defaults to None
|
:param js_template: _description_, defaults to None
|
||||||
:type js_template: Optional[str], optional
|
:type js_template: Optional[str], optional
|
||||||
|
:param js_type: The type of the JS (e.g.: 'module'), defaults to None
|
||||||
|
:type js_type: Optional[str], optional
|
||||||
:param html_tags: Attributes added to the `<html>` tag, defaults to None
|
:param html_tags: Attributes added to the `<html>` tag, defaults to None
|
||||||
:type html_tags: Optional[dict|str], optional
|
:type html_tags: Optional[dict|str], optional
|
||||||
:param header_padding: Top padding, defaults to "4em"
|
:param header_padding: Top padding, defaults to "4em"
|
||||||
:type header_padding: Optional[str], optional
|
:type header_padding: Optional[str], optional
|
||||||
"""
|
"""
|
||||||
|
|
||||||
self.name = name
|
self.name = name
|
||||||
self.description = description
|
self.description = description
|
||||||
|
|
||||||
@ -45,11 +50,15 @@ class ThemeHook:
|
|||||||
self.css_template = css_template
|
self.css_template = css_template
|
||||||
self.js_template = js_template
|
self.js_template = js_template
|
||||||
|
|
||||||
|
# Define the JS type (e.g.: 'module')
|
||||||
|
self.js_type = js_type
|
||||||
|
|
||||||
self.html_tags = (
|
self.html_tags = (
|
||||||
" ".join([f"{key}={value}" for key, value in html_tags.items()])
|
" ".join([f"{key}={value}" for key, value in html_tags.items()])
|
||||||
if isinstance(html_tags, dict)
|
if isinstance(html_tags, dict)
|
||||||
else html_tags
|
else html_tags
|
||||||
)
|
)
|
||||||
self.header_padding = header_padding
|
self.header_padding = header_padding
|
||||||
|
|
||||||
def get_name(self):
|
def get_name(self):
|
||||||
return f"{self.__class__.__module__}.{self.__class__.__name__}"
|
return f"{self.__class__.__module__}.{self.__class__.__name__}"
|
||||||
|
@ -4,7 +4,11 @@
|
|||||||
{% include theme.js_template %}
|
{% include theme.js_template %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% for x in theme.js %}
|
{% for x in theme.js %}
|
||||||
<script src="{{ x.url }}" integrity="{{ x.integrity }}" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
{% if x.js_type %}
|
||||||
|
<script type="{{ x.js_type }}" src="{{ x.url }}" integrity="{{ x.integrity }}" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||||
|
{% else %}
|
||||||
|
<script src="{{ x.url }}" integrity="{{ x.integrity }}" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- allianceauth.theme.{{ theme.name }} JS Ends-->
|
<!-- allianceauth.theme.{{ theme.name }} JS Ends-->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user