diff --git a/src/public/javascripts/dialogs/export_subtree.js b/src/public/javascripts/dialogs/export_subtree.js new file mode 100644 index 000000000..2a5d18b93 --- /dev/null +++ b/src/public/javascripts/dialogs/export_subtree.js @@ -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 +}; \ No newline at end of file diff --git a/src/public/javascripts/services/tree_context_menu.js b/src/public/javascripts/services/tree_context_menu.js index 36d2141a4..e65c74583 100644 --- a/src/public/javascripts/services/tree_context_menu.js +++ b/src/public/javascripts/services/tree_context_menu.js @@ -6,6 +6,7 @@ import protectedSessionService from './protected_session.js'; import treeChangesService from './branches.js'; import treeUtils from './tree_utils.js'; import branchPrefixDialog from '../dialogs/branch_prefix.js'; +import exportSubtreeDialog from '../dialogs/export_subtree.js'; import infoService from "./info.js"; import treeCache from "./tree_cache.js"; import syncService from "./sync.js"; @@ -177,14 +178,8 @@ function selectContextMenuItem(event, cmd) { else if (cmd === "delete") { treeChangesService.deleteNodes(treeService.getSelectedNodes(true)); } - else if (cmd === "exportSubtreeToTar") { - exportService.exportSubtree(node.data.branchId, 'tar'); - } - else if (cmd === "exportSubtreeToOpml") { - exportService.exportSubtree(node.data.branchId, 'opml'); - } - else if (cmd === "exportSubtreeToMarkdown") { - exportService.exportSubtree(node.data.branchId, 'markdown'); + else if (cmd === "exportSubtree") { + exportSubtreeDialog.showDialog(); } else if (cmd === "importIntoNote") { exportService.importIntoNote(node.data.noteId); diff --git a/src/views/dialogs/branch_prefix.ejs b/src/views/dialogs/branch_prefix.ejs index 71d85a655..47d285e98 100644 --- a/src/views/dialogs/branch_prefix.ejs +++ b/src/views/dialogs/branch_prefix.ejs @@ -14,7 +14,7 @@