{#
Optional Libraries with CDN Fallback
=====================================
Include these blocks in pages that need Chart.js or Flatpickr.
Usage in a page template:
{% extends "admin/base.html" %}
{# For Flatpickr CSS (in head) #}
{% block flatpickr_css %}
{% include 'shared/includes/optional-libs.html' with context %}
{{ flatpickr_css_loader() }}
{% endblock %}
{# For Chart.js #}
{% block chartjs_script %}
{% include 'shared/includes/optional-libs.html' with context %}
{{ chartjs_loader() }}
{% endblock %}
{# For Flatpickr JS #}
{% block flatpickr_script %}
{% include 'shared/includes/optional-libs.html' with context %}
{{ flatpickr_loader() }}
{% endblock %}
#}
{#
Chart.js Loader with CDN Fallback
=================================
Loads Chart.js from CDN, falls back to local copy if CDN fails.
#}
{% macro chartjs_loader() %}
{% endmacro %}
{#
Flatpickr CSS Loader with CDN Fallback
======================================
Loads Flatpickr CSS from CDN, falls back to local copy if CDN fails.
#}
{% macro flatpickr_css_loader() %}
{% endmacro %}
{#
Flatpickr JS Loader with CDN Fallback
=====================================
Loads Flatpickr JS from CDN, falls back to local copy if CDN fails.
#}
{% macro flatpickr_loader() %}
{% endmacro %}
{#
Combined Loaders
================
Convenience macros to load multiple libraries at once.
#}
{# Load Chart.js + Flatpickr together #}
{% macro all_optional_libs_css() %}
{{ flatpickr_css_loader() }}
{% endmacro %}
{% macro all_optional_libs_js() %}
{{ chartjs_loader() }}
{{ flatpickr_loader() }}
{% endmacro %}