Changeset 0.28.3.1 (#188)
This commit is contained in:
@@ -66,9 +66,9 @@ function _noteListItem(note, isSearch) {
|
||||
<div class="note-item ${_selectedNoteIds.has(note.id) ? 'selected' : ''}" data-note-id="${note.id}">
|
||||
<div class="note-select-col" style="display:${_notesSelectMode ? '' : 'none'}">
|
||||
<input type="checkbox" class="note-checkbox" data-id="${note.id}" ${checked}
|
||||
onclick="event.stopPropagation(); _toggleNoteSelect('${note.id}', this.checked)">
|
||||
data-action="_toggleNoteSelectCb" data-args='${JSON.stringify([note.id])}' data-pass-el">
|
||||
</div>
|
||||
<div class="note-content-col" onclick="${_notesSelectMode ? `_toggleNoteSelect('${note.id}')` : `openNoteEditor('${note.id}')`}">
|
||||
<div class="note-content-col" data-action="_noteItemClick" data-args='${JSON.stringify([note.id])}'">
|
||||
<div class="note-item-header">
|
||||
<span class="note-item-title">${esc(note.title)}</span>
|
||||
<span class="note-item-time">${time}</span>
|
||||
@@ -422,7 +422,7 @@ async function _loadBacklinks(noteId) {
|
||||
countEl.textContent = links.length;
|
||||
container.style.display = links.length > 0 ? '' : 'none';
|
||||
listEl.innerHTML = links.map(n => `
|
||||
<div class="note-backlink-item" onclick="openNoteEditor('${n.id}')">
|
||||
<div class="note-backlink-item" data-action="openNoteEditor" data-args='${JSON.stringify([n.id])}'">
|
||||
<span class="note-backlink-title">${esc(n.title)}</span>
|
||||
<span class="note-backlink-folder text-muted">${esc(n.folder_path)}</span>
|
||||
</div>
|
||||
@@ -454,12 +454,12 @@ function _renderWikilinksInReadMode(containerEl) {
|
||||
const tid = `transclusion-${++transclusionId}`;
|
||||
return `<div class="transclusion-embed" id="${tid}" data-title="${esc(titleTrimmed)}">
|
||||
<div class="transclusion-header">
|
||||
<span class="wikilink-chip wikilink-transclusion" onclick="_navigateToLinkedNote('${esc(titleTrimmed)}')" title="Open: ${esc(titleTrimmed)}">↗ ${esc(displayText)}</span>
|
||||
<span class="wikilink-chip wikilink-transclusion" data-action="_navigateToLinkedNote" data-args='${JSON.stringify([esc(titleTrimmed)])}'" title="Open: ${esc(titleTrimmed)}">↗ ${esc(displayText)}</span>
|
||||
</div>
|
||||
<div class="transclusion-content"><span class="text-muted">Loading…</span></div>
|
||||
</div>`;
|
||||
}
|
||||
return `<span class="wikilink-chip" onclick="_navigateToLinkedNote('${esc(titleTrimmed)}')" title="Link: ${esc(titleTrimmed)}">${esc(displayText)}</span>`;
|
||||
return `<span class="wikilink-chip" data-action="_navigateToLinkedNote" data-args='${JSON.stringify([esc(titleTrimmed)])}'" title="Link: ${esc(titleTrimmed)}">${esc(displayText)}</span>`;
|
||||
}
|
||||
);
|
||||
containerEl.innerHTML = rendered;
|
||||
@@ -818,7 +818,7 @@ function _registerNotesPanel() {
|
||||
</div>
|
||||
<!-- Backlinks -->
|
||||
<div id="noteBacklinks" class="note-backlinks" style="display:none;">
|
||||
<div class="note-backlinks-header" onclick="toggleBacklinks()">
|
||||
<div class="note-backlinks-header" data-action="toggleBacklinks">
|
||||
Backlinks <span id="noteBacklinksCount" class="badge">0</span>
|
||||
</div>
|
||||
<div id="noteBacklinksList" class="note-backlinks-list"></div>
|
||||
@@ -832,8 +832,8 @@ function _registerNotesPanel() {
|
||||
<span id="graphNodeCount">0</span> notes · <span id="graphEdgeCount">0</span> links
|
||||
</span>
|
||||
<div style="flex:1"></div>
|
||||
<button class="btn-small" onclick="_graphToggleOrphans()" title="Toggle orphan nodes">Orphans</button>
|
||||
<button class="btn-small" onclick="_graphResetZoom()" title="Reset zoom">Reset</button>
|
||||
<button class="btn-small" data-action="_graphToggleOrphans" title="Toggle orphan nodes">Orphans</button>
|
||||
<button class="btn-small" data-action="_graphResetZoom" title="Reset zoom">Reset</button>
|
||||
</div>
|
||||
<canvas id="noteGraphCanvas" style="width:100%;display:block;"></canvas>
|
||||
</div>`;
|
||||
@@ -944,17 +944,33 @@ function _initNotesListeners() {
|
||||
// All wiring moved into _registerNotesPanel().
|
||||
}
|
||||
|
||||
// ── Wrappers for compound onclick expressions ──
|
||||
// Checkbox toggle: reads .checked from the clicked element
|
||||
function _toggleNoteSelectCb(el, noteId) {
|
||||
_toggleNoteSelect(noteId, el.checked);
|
||||
}
|
||||
// Note list item click: mode-dependent dispatch
|
||||
function _noteItemClick(noteId) {
|
||||
if (_notesSelectMode) {
|
||||
_toggleNoteSelect(noteId);
|
||||
} else {
|
||||
openNoteEditor(noteId);
|
||||
}
|
||||
}
|
||||
|
||||
// ── Exports ─────────────────────────────────
|
||||
window._currentNote = _currentNote;
|
||||
window._editingNoteId = _editingNoteId;
|
||||
window._initNotesListeners = _initNotesListeners;
|
||||
window._registerNotesPanel = _registerNotesPanel;
|
||||
window.deleteNote = deleteNote;
|
||||
window.openNoteEditor = openNoteEditor;
|
||||
window.openNotes = openNotes;
|
||||
window.saveMessageToNote = saveMessageToNote;
|
||||
window.saveNote = saveNote;
|
||||
window._toggleNoteSelect = _toggleNoteSelect;
|
||||
window._navigateToLinkedNote = _navigateToLinkedNote;
|
||||
window.toggleBacklinks = toggleBacklinks;
|
||||
sb.register('_currentNote', _currentNote);
|
||||
sb.register('_editingNoteId', _editingNoteId);
|
||||
sb.register('_initNotesListeners', _initNotesListeners);
|
||||
sb.register('_registerNotesPanel', _registerNotesPanel);
|
||||
sb.register('deleteNote', deleteNote);
|
||||
sb.register('openNoteEditor', openNoteEditor);
|
||||
sb.register('openNotes', openNotes);
|
||||
sb.register('saveMessageToNote', saveMessageToNote);
|
||||
sb.register('saveNote', saveNote);
|
||||
sb.register('_toggleNoteSelect', _toggleNoteSelect);
|
||||
sb.register('_navigateToLinkedNote', _navigateToLinkedNote);
|
||||
sb.register('toggleBacklinks', toggleBacklinks);
|
||||
sb.register('_toggleNoteSelectCb', _toggleNoteSelectCb);
|
||||
sb.register('_noteItemClick', _noteItemClick);
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user