mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
note revisions sidebar
This commit is contained in:
parent
78ffac8232
commit
85e4bd817b
@ -1,5 +1,6 @@
|
|||||||
import NoteInfoWidget from "../widgets/note_info.js";
|
import NoteInfoWidget from "../widgets/note_info.js";
|
||||||
import LinkMapWidget from "../widgets/link_map.js";
|
import LinkMapWidget from "../widgets/link_map.js";
|
||||||
|
import NoteRevisionsWidget from "../widgets/note_revisions.js";
|
||||||
|
|
||||||
const WIDGET_TPL = `
|
const WIDGET_TPL = `
|
||||||
<div class="card widget">
|
<div class="card widget">
|
||||||
@ -48,6 +49,7 @@ class Sidebar {
|
|||||||
|
|
||||||
this.addNoteInfoWidget();
|
this.addNoteInfoWidget();
|
||||||
this.addLinkMapWidget();
|
this.addLinkMapWidget();
|
||||||
|
this.addNoteRevisionsWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
async addNoteInfoWidget() {
|
async addNoteInfoWidget() {
|
||||||
@ -65,7 +67,14 @@ class Sidebar {
|
|||||||
const linkMapWidget = new LinkMapWidget(this.ctx, $widget);
|
const linkMapWidget = new LinkMapWidget(this.ctx, $widget);
|
||||||
await linkMapWidget.renderBody();
|
await linkMapWidget.renderBody();
|
||||||
|
|
||||||
console.log($widget);
|
this.$widgets.append($widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
async addNoteRevisionsWidget() {
|
||||||
|
const $widget = this.createWidgetElement();
|
||||||
|
|
||||||
|
const noteRevisionsWidget = new NoteRevisionsWidget(this.ctx, $widget);
|
||||||
|
await noteRevisionsWidget.renderBody();
|
||||||
|
|
||||||
this.$widgets.append($widget);
|
this.$widgets.append($widget);
|
||||||
}
|
}
|
||||||
|
44
src/public/javascripts/widgets/note_revisions.js
Normal file
44
src/public/javascripts/widgets/note_revisions.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import server from "../services/server.js";
|
||||||
|
|
||||||
|
const TPL = `
|
||||||
|
<ul class="note-revision-list" style="max-height: 150px; overflow: auto;">
|
||||||
|
</ul>
|
||||||
|
`;
|
||||||
|
|
||||||
|
class NoteRevisionsWidget {
|
||||||
|
/**
|
||||||
|
* @param {TabContext} ctx
|
||||||
|
* @param {jQuery} $widget
|
||||||
|
*/
|
||||||
|
constructor(ctx, $widget) {
|
||||||
|
this.ctx = ctx;
|
||||||
|
this.$widget = $widget;
|
||||||
|
this.$title = this.$widget.find('.widget-title');
|
||||||
|
this.$title.text("Note revisions");
|
||||||
|
}
|
||||||
|
|
||||||
|
async renderBody() {
|
||||||
|
const $body = this.$widget.find('.card-body');
|
||||||
|
const revisionItems = await server.get(`notes/${this.ctx.note.noteId}/revisions`);
|
||||||
|
|
||||||
|
if (revisionItems.length === 0) {
|
||||||
|
$body.text("No revisions yet...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$body.html(TPL);
|
||||||
|
|
||||||
|
const $list = $body.find('.note-revision-list');
|
||||||
|
|
||||||
|
for (const item of revisionItems) {
|
||||||
|
$list.append($('<li>').append($("<a>", {
|
||||||
|
'data-action': 'note-revision',
|
||||||
|
'data-note-path': this.ctx.note.noteId,
|
||||||
|
'data-note-revision-id': item.noteRevisionId,
|
||||||
|
href: 'javascript:'
|
||||||
|
}).text(item.dateModifiedFrom)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default NoteRevisionsWidget;
|
Loading…
x
Reference in New Issue
Block a user