summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis M. Hoffmann <jannis@fehcom.de>2024-12-09 13:07:42 +0100
committerJannis M. Hoffmann <jannis@fehcom.de>2024-12-09 13:07:42 +0100
commit7f9f1d40e806aaf2e0017c0c157b76fb284b049f (patch)
tree522abe138bb4b74d809e79aefe17fb5658296d36
parent4c911f53dc51dacc61f109cbc42b011887ce6c84 (diff)
spit of navigation element into its own file
-rw-r--r--src/jwebmail/__init__.py4
-rw-r--r--src/jwebmail/templates/_bot_nav.html38
-rw-r--r--src/jwebmail/templates/_nav.html22
-rw-r--r--src/jwebmail/templates/_top_nav.html38
4 files changed, 26 insertions, 76 deletions
diff --git a/src/jwebmail/__init__.py b/src/jwebmail/__init__.py
index d7ac1f0..a1bd00a 100644
--- a/src/jwebmail/__init__.py
+++ b/src/jwebmail/__init__.py
@@ -36,7 +36,7 @@ else:
toml_read_file = dict(load=toml_load, text=True)
-__version__ = "2.8.1.dev3"
+__version__ = "2.8.2.dev0"
csrf = CSRFProtect()
@@ -55,7 +55,7 @@ def validate_config(app):
def create_app():
app = Flask(__name__)
- app.jinja_options = dict(undefined=ChainableUndefined)
+ app.jinja_options = dict(undefined=ChainableUndefined, extensions=["jinja2.ext.do"])
if app.config["DEBUG"]:
app.config.from_file("../../jwebmail.toml", **toml_read_file)
diff --git a/src/jwebmail/templates/_bot_nav.html b/src/jwebmail/templates/_bot_nav.html
index 03cb939..a1e1b76 100644
--- a/src/jwebmail/templates/_bot_nav.html
+++ b/src/jwebmail/templates/_bot_nav.html
@@ -1,43 +1,7 @@
<div class="columns">
<div class=column>
- <nav class="pagination" role="navigation">
- {% if first %}
- <a class="pagination-previous" disabled>&laquo;</a>
- {% else %}
- <a class="pagination-previous"
- href="{{ url_for(
- 'displayheaders',
- folder=request.view_args.folder,
- page_bound=page_bound_before,
- page_after=0,
- per_page=request.args.get('per_page'),
- sort=request.args.get('sort'),
- search=request.args.get('search'),
- ) }}"
- aria-label="Next">
- &laquo;
- </a>
- {% endif %}
-
- {% if last %}
- <a class="pagination-next" disabled>&raquo;</a>
- {% else %}
- <a class="pagination-next"
- href="{{ url_for(
- 'displayheaders',
- folder=request.view_args.folder,
- page_bound=page_bound_after,
- page_after=1,
- per_page=request.args.get('per_page'),
- sort=request.args.get('sort'),
- search=request.args.get('search'),
- ) }}"
- aria-label="Next">
- &raquo;
- </a>
- {% endif %}
- </nav>
+ {% include '_nav.html' %}
</div>
<div class="column">
diff --git a/src/jwebmail/templates/_nav.html b/src/jwebmail/templates/_nav.html
new file mode 100644
index 0000000..79b7b6e
--- /dev/null
+++ b/src/jwebmail/templates/_nav.html
@@ -0,0 +1,22 @@
+<nav class="pagination" role="navigation">
+ {% set args = dict(request.args) %}
+ {% do args.update(request.view_args) %}
+
+ {% if first %}
+ <a class="pagination-previous" disabled>&laquo;</a>
+ {% else %}
+ {% do args.update([('page_bound', page_bound_before), ('page_after', 0)]) %}
+ <a class="pagination-previous" href="{{ url_for(request.endpoint, **args) }}" aria-label="Previous">
+ &laquo;
+ </a>
+ {% endif %}
+
+ {% if last %}
+ <a class="pagination-next" disabled>&raquo;</a>
+ {% else %}
+ {% do args.update([('page_bound', page_bound_after), ('page_after', 1)]) %}
+ <a class="pagination-next" href="{{ url_for(request.endpoint, **args) }}" aria-label="Next">
+ &raquo;
+ </a>
+ {% endif %}
+</nav>
diff --git a/src/jwebmail/templates/_top_nav.html b/src/jwebmail/templates/_top_nav.html
index c94918c..4e5bcb9 100644
--- a/src/jwebmail/templates/_top_nav.html
+++ b/src/jwebmail/templates/_top_nav.html
@@ -41,43 +41,7 @@
</form>
<div class=column>
- <nav class="pagination" role="navigation">
- {% if first %}
- <a class="pagination-previous" disabled>&laquo;</a>
- {% else %}
- <a class="pagination-previous"
- href="{{ url_for(
- 'displayheaders',
- folder=request.view_args.folder,
- page_bound=page_bound_before,
- page_after=0,
- per_page=request.args.get('per_page'),
- sort=request.args.get('sort'),
- search=request.args.get('search'),
- ) }}"
- aria-label="Next">
- &laquo;
- </a>
- {% endif %}
-
- {% if last %}
- <a class="pagination-next" disabled>&raquo;</a>
- {% else %}
- <a class="pagination-next"
- href="{{ url_for(
- 'displayheaders',
- folder=request.view_args.folder,
- page_bound=page_bound_after,
- page_after=1,
- per_page=request.args.get('per_page'),
- sort=request.args.get('sort'),
- search=request.args.get('search'),
- ) }}"
- aria-label="Next">
- &raquo;
- </a>
- {% endif %}
- </nav>
+ {% include '_nav.html' %}
</div>
</div>