fix: escape single quotes in workspace tree macro to prevent JS parse errors
Page names containing apostrophes (e.g. "02-Structure d'entrainements.md") broke Alpine.js directives because Jinja2's |e filter doesn't escape single quotes. Replaced ' with ' HTML entity in Alpine expression attributes (showWsContext, wsTouchEnd).
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
{% macro render_workspace_tree(pages, depth=0) %}
|
{% macro render_workspace_tree(pages, depth=0) %}
|
||||||
{% for page in pages %}
|
{% for page in pages %}
|
||||||
|
{% set safe_name = page.name | replace("'", "'") %}
|
||||||
<li class="sidebar-item ws-tree-item"
|
<li class="sidebar-item ws-tree-item"
|
||||||
data-id="{{ page.db_id }}"
|
data-id="{{ page.db_id }}"
|
||||||
data-is-folder="{{ 'true' if page.is_folder else 'false' }}"
|
data-is-folder="{{ 'true' if page.is_folder else 'false' }}"
|
||||||
data-depth="{{ depth }}"
|
data-depth="{{ depth }}"
|
||||||
|
data-name="{{ safe_name }}"
|
||||||
:class="{ active: activeNodeId === {{ page.db_id }} }"
|
:class="{ active: activeNodeId === {{ page.db_id }} }"
|
||||||
draggable="true"
|
draggable="true"
|
||||||
@dragstart="dragStart($event, {{ page.db_id }})"
|
@dragstart="dragStart($event, {{ page.db_id }})"
|
||||||
@@ -11,9 +13,9 @@
|
|||||||
@dragleave="dragLeave($event)"
|
@dragleave="dragLeave($event)"
|
||||||
@drop.prevent="drop($event, {{ page.db_id }})"
|
@drop.prevent="drop($event, {{ page.db_id }})"
|
||||||
style="padding-left:{{ 4 + depth * 12 }}px;"
|
style="padding-left:{{ 4 + depth * 12 }}px;"
|
||||||
@contextmenu.prevent="showWsContext($event, {{ page.db_id }}, '{{ page.name | e }}', {{ 'true' if page.is_folder else 'false' }})"
|
@contextmenu.prevent="showWsContext($event, {{ page.db_id }}, '{{ safe_name }}', {{ 'true' if page.is_folder else 'false' }})"
|
||||||
@touchstart="wsTouchStart($event)"
|
@touchstart="wsTouchStart($event)"
|
||||||
@touchend="wsTouchEnd($event, {{ page.db_id }}, '{{ page.name | e }}', {{ 'true' if page.is_folder else 'false' }})"
|
@touchend="wsTouchEnd($event, {{ page.db_id }}, '{{ safe_name }}', {{ 'true' if page.is_folder else 'false' }})"
|
||||||
@touchmove="wsTouchMove($event)">
|
@touchmove="wsTouchMove($event)">
|
||||||
{% if page.is_folder %}
|
{% if page.is_folder %}
|
||||||
<button class="tree-chevron"
|
<button class="tree-chevron"
|
||||||
|
|||||||
Reference in New Issue
Block a user