fix(workspace): corriger les séquences d'échappement cassées dans renderChildren
Les échappements de quotes dans le patch précédent étaient cassés (\\' au lieu de \'), causant des erreurs de syntaxe JS qui empêchaient l'initialisation de _wsInitData et donc d'Alpine.
This commit is contained in:
@@ -950,11 +950,11 @@ window._wsInitData = (function() {
|
|||||||
+ ' data-folder-id="'+(c.is_folder?c.id:'')+'"'
|
+ ' data-folder-id="'+(c.is_folder?c.id:'')+'"'
|
||||||
+ ' data-ws-id="'+escId+'"'
|
+ ' data-ws-id="'+escId+'"'
|
||||||
+ ' ondragstart="var d=window._wsData;if(d)d.onInternalDragStart(event,'+escId+')"'
|
+ ' ondragstart="var d=window._wsData;if(d)d.onInternalDragStart(event,'+escId+')"'
|
||||||
+ ' ondragend="event.target.style.opacity=\\'\\'">';
|
+ ' ondragend="event.target.style.opacity=\'\'">';
|
||||||
// Checkbox
|
// Checkbox
|
||||||
html += '<input type="checkbox" class="item-checkbox"'
|
html += '<input type="checkbox" class="item-checkbox"'
|
||||||
+ ' data-ws-id="'+escId+'"'
|
+ ' data-ws-id="'+escId+'"'
|
||||||
+ ' onclick="event.stopPropagation();var d=window._wsData;if(d)d.toggleSelect({id:'+escId+',name:\\''+escName+'\\'},event)"'
|
+ ' onclick="event.stopPropagation();var d=window._wsData;if(d)d.toggleSelect({id:'+escId+',name:\''+escName+'\'},event)"'
|
||||||
+ ' title="Select item">';
|
+ ' title="Select item">';
|
||||||
// Drag handle
|
// Drag handle
|
||||||
html += '<div class="drag-handle" title="Drag to move">'
|
html += '<div class="drag-handle" title="Drag to move">'
|
||||||
@@ -962,7 +962,7 @@ window._wsInitData = (function() {
|
|||||||
+ '<span class="dot"></span><span class="dot"></span>'
|
+ '<span class="dot"></span><span class="dot"></span>'
|
||||||
+ '<span class="dot"></span><span class="dot"></span></div>';
|
+ '<span class="dot"></span><span class="dot"></span></div>';
|
||||||
if (c.is_folder && hasKids) {
|
if (c.is_folder && hasKids) {
|
||||||
html += '<button class="ws-chevron ws-expand-btn" data-ws-id="'+escId+'" onclick="event.stopPropagation();var d=window._wsData;if(d)d.toggleExpand('+escId+',this)">▶</button>';
|
html += '<button class="ws-chevron ws-expand-btn" data-ws-id="'+escId+'" onclick="event.stopPropagation();var d=window._wsData;if(d)d.toggleExpand('+escId+',this)">\u25b6</button>';
|
||||||
} else {
|
} else {
|
||||||
html += '<span style="width:16px;flex-shrink:0;"></span>';
|
html += '<span style="width:16px;flex-shrink:0;"></span>';
|
||||||
}
|
}
|
||||||
@@ -971,15 +971,15 @@ window._wsInitData = (function() {
|
|||||||
var countBadge = (c.child_count > 0) ? ' <span class="child-count">('+c.child_count+')</span>' : '';
|
var countBadge = (c.child_count > 0) ? ' <span class="child-count">('+c.child_count+')</span>' : '';
|
||||||
html += '<span class="name folder" onclick="window._wsData.navigateToFolder('+escId+')">'+c.name+countBadge+'</span>';
|
html += '<span class="name folder" onclick="window._wsData.navigateToFolder('+escId+')">'+c.name+countBadge+'</span>';
|
||||||
} else {
|
} else {
|
||||||
// Click to rename, double-click or button to open
|
// Click to rename, double-click to open
|
||||||
html += '<span class="name file" onclick="event.stopPropagation();window._wsData.startRenderChildRename('+escId+',\''+escName+'\')"'
|
html += '<span class="name file" onclick="event.stopPropagation();window._wsData.startRenderChildRename('+escId+',\''+escName+'\')"'
|
||||||
+ ' ondblclick="window.location=\\'/pages/'+escId+'\\'"'
|
+ ' ondblclick="window.location=\'/pages/'+escId+'\'"'
|
||||||
+ ' title="Click to rename, double-click to open"'
|
+ ' title="Click to rename, double-click to open"'
|
||||||
+ ' onmouseenter="var d=window._wsData;if(d)d.showPreview(event,{id:'+escId+',name:\\''+escName+'\\',is_folder:false,content_format:\\''+(c.content_format||'')+'\\'})"'
|
+ ' onmouseenter="var d=window._wsData;if(d)d.showPreview(event,{id:'+escId+',name:\''+escName+'\',is_folder:false,content_format:\''+(c.content_format||'')+'\'})"'
|
||||||
+ ' onmouseleave="var d=window._wsData;if(d)d.hidePreview()">'
|
+ ' onmouseleave="var d=window._wsData;if(d)d.hidePreview()">'
|
||||||
+ '<span id="rc-name-'+escId+'">'+c.name+'</span>'
|
+ '<span id="rc-name-'+escId+'">'+c.name+'</span>'
|
||||||
+ '<input id="rc-input-'+escId+'" class="inline-rename-input" style="display:none;width:100%"'
|
+ '<input id="rc-input-'+escId+'" class="inline-rename-input" style="display:none;width:100%"'
|
||||||
+ ' onkeydown="if(event.key===\\'Enter\\')window._wsData.commitRenderChildRename('+escId+')"'
|
+ ' onkeydown="if(event.key===\'Enter\')window._wsData.commitRenderChildRename('+escId+')"'
|
||||||
+ ' onblur="window._wsData.commitRenderChildRename('+escId+')"'
|
+ ' onblur="window._wsData.commitRenderChildRename('+escId+')"'
|
||||||
+ ' onclick="event.stopPropagation()">'
|
+ ' onclick="event.stopPropagation()">'
|
||||||
+ '</span>';
|
+ '</span>';
|
||||||
@@ -987,17 +987,17 @@ window._wsInitData = (function() {
|
|||||||
html += '<div class="actions">';
|
html += '<div class="actions">';
|
||||||
if (c.is_folder) {
|
if (c.is_folder) {
|
||||||
html += '<span style="display:flex;gap:2px">';
|
html += '<span style="display:flex;gap:2px">';
|
||||||
html += '<button class="ws-act" data-ws-action="new-file" data-ws-id="'+escId+'" data-ws-name="'+escName+'">📄</button>';
|
html += '<button class="ws-act" data-ws-action="new-file" data-ws-id="'+escId+'" data-ws-name="'+escName+'" title="New file">\ud83d\udcc4</button>';
|
||||||
html += '<button class="ws-act" data-ws-action="new-folder" data-ws-id="'+escId+'" data-ws-name="'+escName+'">📁</button>';
|
html += '<button class="ws-act" data-ws-action="new-folder" data-ws-id="'+escId+'" data-ws-name="'+escName+'" title="New folder">\ud83d\udcc1</button>';
|
||||||
html += '</span>';
|
html += '</span>';
|
||||||
}
|
}
|
||||||
html += '<button class="ws-act" data-ws-action="rename" data-ws-id="'+escId+'" data-ws-name="'+escName+'">✏️</button>';
|
html += '<button class="ws-act" data-ws-action="rename" data-ws-id="'+escId+'" data-ws-name="'+escName+'" title="Rename">\u270f\ufe0f</button>';
|
||||||
html += '<button class="ws-act danger" data-ws-action="delete" data-ws-id="'+escId+'" data-ws-name="'+escName+'">🗑</button>';
|
html += '<button class="ws-act danger" data-ws-action="delete" data-ws-id="'+escId+'" data-ws-name="'+escName+'" title="Delete">\ud83d\uddd1</button>';
|
||||||
// Open button for files
|
// Open button for files
|
||||||
if (!c.is_folder) {
|
if (!c.is_folder) {
|
||||||
html += '<a href="/pages/'+escId+'" class="btn-open" style="display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;text-decoration:none;margin-left:4px;opacity:0;"'
|
html += '<a href="/pages/'+escId+'" class="btn-open" style="display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;text-decoration:none;margin-left:4px;opacity:0;"'
|
||||||
+ ' onmouseover="this.style.opacity=\\'1\\'" onmouseout="this.style.opacity=\\'0\\'"'
|
+ ' onmouseover="this.style.opacity=\'1\'" onmouseout="this.style.opacity=\'0\'"'
|
||||||
+ ' onclick="event.stopPropagation();return true">⤢ Open</a>';
|
+ ' onclick="event.stopPropagation();return true">\u2931 Open</a>';
|
||||||
}
|
}
|
||||||
// Tags
|
// Tags
|
||||||
if (c.tags && c.tags.length > 0) {
|
if (c.tags && c.tags.length > 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user