mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
export dialog to choose export format, closes #207
This commit is contained in:
parent
13f9007bd6
commit
5f427e37fe
36
src/public/javascripts/dialogs/export_subtree.js
Normal file
36
src/public/javascripts/dialogs/export_subtree.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import treeService from '../services/tree.js';
|
||||||
|
import server from '../services/server.js';
|
||||||
|
import treeUtils from "../services/tree_utils.js";
|
||||||
|
import exportService from "../services/export.js";
|
||||||
|
|
||||||
|
const $dialog = $("#export-subtree-dialog");
|
||||||
|
const $form = $("#export-subtree-form");
|
||||||
|
const $noteTitle = $dialog.find(".note-title");
|
||||||
|
const $exportFormat = $dialog.find("input[name='export-format']:checked");
|
||||||
|
|
||||||
|
async function showDialog() {
|
||||||
|
glob.activeDialog = $dialog;
|
||||||
|
|
||||||
|
$dialog.modal();
|
||||||
|
|
||||||
|
const currentNode = treeService.getCurrentNode();
|
||||||
|
const noteTitle = await treeUtils.getNoteTitle(currentNode.data.noteId);
|
||||||
|
|
||||||
|
$noteTitle.html(noteTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
$form.submit(() => {
|
||||||
|
const exportFormat = $exportFormat.val();
|
||||||
|
|
||||||
|
const currentNode = treeService.getCurrentNode();
|
||||||
|
|
||||||
|
exportService.exportSubtree(currentNode.data.branchId, exportFormat);
|
||||||
|
|
||||||
|
$dialog.modal('hide');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
showDialog
|
||||||
|
};
|
@ -6,6 +6,7 @@ import protectedSessionService from './protected_session.js';
|
|||||||
import treeChangesService from './branches.js';
|
import treeChangesService from './branches.js';
|
||||||
import treeUtils from './tree_utils.js';
|
import treeUtils from './tree_utils.js';
|
||||||
import branchPrefixDialog from '../dialogs/branch_prefix.js';
|
import branchPrefixDialog from '../dialogs/branch_prefix.js';
|
||||||
|
import exportSubtreeDialog from '../dialogs/export_subtree.js';
|
||||||
import infoService from "./info.js";
|
import infoService from "./info.js";
|
||||||
import treeCache from "./tree_cache.js";
|
import treeCache from "./tree_cache.js";
|
||||||
import syncService from "./sync.js";
|
import syncService from "./sync.js";
|
||||||
@ -177,14 +178,8 @@ function selectContextMenuItem(event, cmd) {
|
|||||||
else if (cmd === "delete") {
|
else if (cmd === "delete") {
|
||||||
treeChangesService.deleteNodes(treeService.getSelectedNodes(true));
|
treeChangesService.deleteNodes(treeService.getSelectedNodes(true));
|
||||||
}
|
}
|
||||||
else if (cmd === "exportSubtreeToTar") {
|
else if (cmd === "exportSubtree") {
|
||||||
exportService.exportSubtree(node.data.branchId, 'tar');
|
exportSubtreeDialog.showDialog();
|
||||||
}
|
|
||||||
else if (cmd === "exportSubtreeToOpml") {
|
|
||||||
exportService.exportSubtree(node.data.branchId, 'opml');
|
|
||||||
}
|
|
||||||
else if (cmd === "exportSubtreeToMarkdown") {
|
|
||||||
exportService.exportSubtree(node.data.branchId, 'markdown');
|
|
||||||
}
|
}
|
||||||
else if (cmd === "importIntoNote") {
|
else if (cmd === "importIntoNote") {
|
||||||
exportService.importIntoNote(node.data.noteId);
|
exportService.importIntoNote(node.data.noteId);
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer" style="display: flex; justify-content: space-between;">
|
<div class="modal-footer" style="display: flex; justify-content: space-between;">
|
||||||
<button class="btn btn-primary btn-sm">Save</button>
|
<button class="btn btn-p`rimary btn-sm">Save</button>
|
||||||
|
|
||||||
<button class="btn btn-sm" type="button" data-help-page="Tree-concepts#prefix">
|
<button class="btn btn-sm" type="button" data-help-page="Tree-concepts#prefix">
|
||||||
<i class="glyphicon glyphicon-info-sign"></i> Help
|
<i class="glyphicon glyphicon-info-sign"></i> Help
|
||||||
|
46
src/views/dialogs/export_subtree.ejs
Normal file
46
src/views/dialogs/export_subtree.ejs
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<div id="export-subtree-dialog" class="modal fade mx-auto" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Export subtree</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<form id="export-subtree-form">
|
||||||
|
<div class="modal-body">
|
||||||
|
<div>Export note "<span class="note-title"></span>" and its subtree in the following format:</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="radio" name="export-format" id="export-format-tar" value="tar" checked>
|
||||||
|
<label class="form-check-label" for="export-format-tar">Native TAR - this is Trilium's native format which preserves all notes' data & metadata.</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="radio" name="export-format" id="export-format-opml" value="opml">
|
||||||
|
<label class="form-check-label" for="export-format-opml">
|
||||||
|
OPML - standard outliner interchange format for text only. Formatting, images, files are not included.
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<div class="form-check disabled">
|
||||||
|
<input class="form-check-input" type="radio" name="export-format" id="export-format-markdown"
|
||||||
|
value="markdown">
|
||||||
|
<label class="form-check-label" for="export-format-markdown">
|
||||||
|
Markdown - TAR archive of Markdown formatted notes
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-primary btn-sm">Export</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -308,6 +308,7 @@
|
|||||||
<% include dialogs/attributes.ejs %>
|
<% include dialogs/attributes.ejs %>
|
||||||
<% include dialogs/branch_prefix.ejs %>
|
<% include dialogs/branch_prefix.ejs %>
|
||||||
<% include dialogs/event_log.ejs %>
|
<% include dialogs/event_log.ejs %>
|
||||||
|
<% include dialogs/export_subtree.ejs %>
|
||||||
<% include dialogs/jump_to_note.ejs %>
|
<% include dialogs/jump_to_note.ejs %>
|
||||||
<% include dialogs/markdown_import.ejs %>
|
<% include dialogs/markdown_import.ejs %>
|
||||||
<% include dialogs/note_revisions.ejs %>
|
<% include dialogs/note_revisions.ejs %>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user