fix note export/import/branch prefix to use right-clicked note as opposed to current active

This commit is contained in:
zadam 2019-06-20 09:37:18 +02:00
parent a7cf3cdf05
commit fead3cd7ad
9 changed files with 74 additions and 108 deletions

133
package-lock.json generated
View File

@ -589,32 +589,32 @@
"integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
}, },
"app-builder-bin": { "app-builder-bin": {
"version": "2.6.6", "version": "2.6.16",
"resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.6.tgz", "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.16.tgz",
"integrity": "sha512-G0Ee6xkbxV+fvM/7xXWIgSDjWAD4E/d/aNbxerq/TVsCyBIau/0VPmrEqBMyZv0NbTwLDW5aF/yHG+0ZEY77kA==", "integrity": "sha512-TSq2/AwXbFI+jK4SPRRASZEpZ32HsrugxuCzHshnZ3Wj5LDVIAMU3EGXfaciXWx7TV047G69RlA4/Y8OiHBn3w==",
"dev": true "dev": true
}, },
"app-builder-lib": { "app-builder-lib": {
"version": "20.43.0", "version": "20.44.2",
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.43.0.tgz", "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.44.2.tgz",
"integrity": "sha512-8OhRPGbTFsgBn07mcG1x0FApqsLLQkNMrdl2sBPo/haI/E1QqhN4DU5x7nKbbFwnsG2XvqvBBZwnMV3FXgDi9Q==", "integrity": "sha512-84AEt+k/edrwHwFtaXx8SGAC9ZdMJabx5xf2VGM8L8sFYbBPJppl4G6TieHqpPhDURbPXqL710HKEA/lyiEIRQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~4.1.0", "7zip-bin": "~4.1.0",
"app-builder-bin": "2.6.6", "app-builder-bin": "2.6.16",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "10.0.2", "builder-util": "10.1.0",
"builder-util-runtime": "8.2.4", "builder-util-runtime": "8.2.5",
"chromium-pickle-js": "^0.2.0", "chromium-pickle-js": "^0.2.0",
"debug": "^4.1.1", "debug": "^4.1.1",
"ejs": "^2.6.1", "ejs": "^2.6.2",
"electron-osx-sign": "0.4.11", "electron-osx-sign": "0.4.11",
"electron-publish": "20.43.0", "electron-publish": "20.44.2",
"fs-extra-p": "^8.0.2", "fs-extra-p": "^8.0.2",
"hosted-git-info": "^2.7.1", "hosted-git-info": "^2.7.1",
"is-ci": "^2.0.0", "is-ci": "^2.0.0",
"isbinaryfile": "^4.0.0", "isbinaryfile": "^4.0.1",
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
@ -623,7 +623,7 @@
"read-config-file": "3.2.2", "read-config-file": "3.2.2",
"sanitize-filename": "^1.6.1", "sanitize-filename": "^1.6.1",
"semver": "^6.1.1", "semver": "^6.1.1",
"temp-file": "^3.3.2" "temp-file": "^3.3.3"
}, },
"dependencies": { "dependencies": {
"ci-info": { "ci-info": {
@ -678,9 +678,9 @@
} }
}, },
"resolve": { "resolve": {
"version": "1.11.1", "version": "1.11.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
"integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==",
"dev": true, "dev": true,
"requires": { "requires": {
"path-parse": "^1.0.6" "path-parse": "^1.0.6"
@ -1386,16 +1386,16 @@
} }
}, },
"builder-util": { "builder-util": {
"version": "10.0.2", "version": "10.1.0",
"resolved": "https://registry.npmjs.org/builder-util/-/builder-util-10.0.2.tgz", "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-10.1.0.tgz",
"integrity": "sha512-Dt11O/MTdCsaCjAdnkVVcDSSkQEkvPWAs18sNQBc6l6wt5RvzcI4nfgpLxwbUi/DkCpHCltUgIj94TLQXQv1bw==", "integrity": "sha512-M+XnPGbVKSssgxgejtcrCPr7BcJfTyZZYf9yJ8r3o3kDJfBcF0ShaxyuOk956PnAUuanRGtfhZb4cD6dx+x1jA==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~4.1.0", "7zip-bin": "~4.1.0",
"@types/debug": "^4.1.4", "@types/debug": "^4.1.4",
"app-builder-bin": "2.6.6", "app-builder-bin": "2.6.16",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util-runtime": "^8.2.4", "builder-util-runtime": "^8.2.5",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"debug": "^4.1.1", "debug": "^4.1.1",
"fs-extra-p": "^8.0.2", "fs-extra-p": "^8.0.2",
@ -1403,7 +1403,7 @@
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"source-map-support": "^0.5.12", "source-map-support": "^0.5.12",
"stat-mode": "^0.3.0", "stat-mode": "^0.3.0",
"temp-file": "^3.3.2" "temp-file": "^3.3.3"
}, },
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
@ -1475,9 +1475,9 @@
} }
}, },
"builder-util-runtime": { "builder-util-runtime": {
"version": "8.2.4", "version": "8.2.5",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.4.tgz", "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.5.tgz",
"integrity": "sha512-iwRnmFnGs63+p6uJem2N/d9Q0SKj5c0TP8PTesKnWsWvo1saKKM/0yiT137w+3uz+r/Cmf8VH/8nt75uW8jeUw==", "integrity": "sha512-YILT+YUlxrE3yNB6mDC1tF+Q24mr1LSYdjP5U861jbBeDZfvy1/VPDzW3boMVrDtzYnDnvkYrzLJnoh6TXA75w==",
"dev": true, "dev": true,
"requires": { "requires": {
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
@ -2621,14 +2621,14 @@
} }
}, },
"dmg-builder": { "dmg-builder": {
"version": "6.6.4", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.6.4.tgz", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.7.0.tgz",
"integrity": "sha512-neJXwnFaJ4wisP++Yyi9H0kEUsvxyY7TBBEK2fu8V8i1VoMQKljY/6Dgf2HktLVHzXSWP71TQwKKWSIWI/3aeQ==", "integrity": "sha512-YluV5KM2sbqKZ0SeL+K7Q0E37EAeV64UmdUtnV4CZqe7TYaVa5j2K5zpfoMZyg+sekxAN8utfmrvaLf9V6SNeA==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "~20.43.0", "app-builder-lib": "~20.44.2",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "~10.0.2", "builder-util": "~10.1.0",
"fs-extra-p": "^8.0.2", "fs-extra-p": "^8.0.2",
"iconv-lite": "^0.4.24", "iconv-lite": "^0.4.24",
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
@ -2831,17 +2831,17 @@
} }
}, },
"electron-builder": { "electron-builder": {
"version": "20.43.0", "version": "20.44.2",
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.43.0.tgz", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.44.2.tgz",
"integrity": "sha512-8trMnW3K2BWtPGQJqCWZ5QMwZajMucmzlTCHrzhufQWuQbaPhanmho6tWFm2ftyuYku3T4TB4kD7UCX/YQDGyg==", "integrity": "sha512-4n7s8gfmMuNr3IbVLXo/XzcdaWcOFxu+VeC0FUjl90lU8H8pvuQ/LZS+yD7k0zVw98p4+GvMg0nIwjdF+BbwTA==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "20.43.0", "app-builder-lib": "20.44.2",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "10.0.2", "builder-util": "10.1.0",
"builder-util-runtime": "8.2.4", "builder-util-runtime": "8.2.5",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"dmg-builder": "6.6.4", "dmg-builder": "6.7.0",
"fs-extra-p": "^8.0.2", "fs-extra-p": "^8.0.2",
"is-ci": "^2.0.0", "is-ci": "^2.0.0",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
@ -3055,15 +3055,15 @@
"dev": true "dev": true
}, },
"package-json": { "package-json": {
"version": "6.3.0", "version": "6.4.0",
"resolved": "https://registry.npmjs.org/package-json/-/package-json-6.3.0.tgz", "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.4.0.tgz",
"integrity": "sha512-XO7WS3EEXd48vmW633Y97Mh9xuENFiOevI9G+ExfTG/k6xuY9cBd3fxkAoDMSEsNZXasaVJIJ1rD/n7GMf18bA==", "integrity": "sha512-bd1T8OBG7hcvMd9c/udgv6u5v9wISP3Oyl9Cm7Weop8EFwrtcQDnS2sb6zhwqus2WslSr5wSTIPiTTpxxmPm7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"got": "^9.6.0", "got": "^9.6.0",
"registry-auth-token": "^3.4.0", "registry-auth-token": "^3.4.0",
"registry-url": "^5.0.0", "registry-url": "^5.0.0",
"semver": "^5.6.0" "semver": "^6.1.1"
} }
}, },
"prepend-http": { "prepend-http": {
@ -3091,12 +3091,6 @@
"rc": "^1.2.8" "rc": "^1.2.8"
} }
}, },
"semver": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
"dev": true
},
"string-width": { "string-width": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@ -3583,18 +3577,18 @@
} }
}, },
"electron-publish": { "electron-publish": {
"version": "20.43.0", "version": "20.44.2",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.43.0.tgz", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.44.2.tgz",
"integrity": "sha512-+oaTdbMmh1xceKPZWORYyGkNmxIhu7rkE1qEEn0NeG3KHEAePHg9FZGemR4aV3tQmtOwti2Vj+x8snAUxsnHHQ==", "integrity": "sha512-GRzmMFdVG63zKip2wY+fa5Vmw6bHz1OaGemz3Ebfzm60CfaPOw8o3iWa49JuxYYPobi2BbZrbr76a0flECmAzg==",
"dev": true, "dev": true,
"requires": { "requires": {
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "~10.0.2", "builder-util": "~10.1.0",
"builder-util-runtime": "^8.2.4", "builder-util-runtime": "^8.2.5",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"fs-extra-p": "^8.0.2", "fs-extra-p": "^8.0.2",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
"mime": "^2.4.3" "mime": "^2.4.4"
}, },
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
@ -11917,37 +11911,14 @@
"integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0="
}, },
"temp-file": { "temp-file": {
"version": "3.3.2", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.3.tgz",
"integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==", "integrity": "sha512-ErWJ0vfZwkozaH7dn/5QtYdrGwy6fWID0GG3PEzNb9Vmt6urL4mQ3lKz7NWVi1/kmZsWQzgjTL7/P4mwGx5jqg==",
"dev": true, "dev": true,
"requires": { "requires": {
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.6", "bluebird-lst": "^1.0.9",
"fs-extra-p": "^7.0.0" "fs-extra-p": "^8.0.2"
},
"dependencies": {
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"fs-extra-p": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz",
"integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==",
"dev": true,
"requires": {
"bluebird-lst": "^1.0.7",
"fs-extra": "^7.0.1"
}
}
} }
}, },
"tempfile": { "tempfile": {

View File

@ -76,7 +76,7 @@
"devDependencies": { "devDependencies": {
"devtron": "1.4.0", "devtron": "1.4.0",
"electron": "6.0.0-beta.9", "electron": "6.0.0-beta.9",
"electron-builder": "20.43.0", "electron-builder": "20.44.2",
"electron-compile": "6.4.4", "electron-compile": "6.4.4",
"electron-installer-debian": "2.0.0", "electron-installer-debian": "2.0.0",
"electron-packager": "13.1.1", "electron-packager": "13.1.1",

View File

@ -142,10 +142,10 @@ $noteTabContainer.on("click", ".export-note-button", function () {
return; return;
} }
exportDialog.showDialog('single'); exportDialog.showDialog(treeService.getActiveNode(), 'single');
}); });
$noteTabContainer.on("click", ".import-files-button", importDialog.showDialog); $noteTabContainer.on("click", ".import-files-button", () => importDialog.showDialog(treeService.getActiveNode()));
$('[data-toggle="tooltip"]').tooltip({ $('[data-toggle="tooltip"]').tooltip({
html: true html: true

View File

@ -12,21 +12,19 @@ const $noteTitle = $('#branch-prefix-note-title');
let branchId; let branchId;
async function showDialog() { async function showDialog(node) {
utils.closeActiveDialog(); utils.closeActiveDialog();
glob.activeDialog = $dialog; glob.activeDialog = $dialog;
$dialog.modal(); $dialog.modal();
const currentNode = treeService.getActiveNode(); branchId = node.data.branchId;
branchId = currentNode.data.branchId;
const branch = await treeCache.getBranch(branchId); const branch = await treeCache.getBranch(branchId);
$treePrefixInput.val(branch.prefix); $treePrefixInput.val(branch.prefix);
const noteTitle = await treeUtils.getNoteTitle(currentNode.data.noteId); const noteTitle = await treeUtils.getNoteTitle(node.data.noteId);
$noteTitle.text(" - " + noteTitle); $noteTitle.text(" - " + noteTitle);
} }

View File

@ -1,4 +1,3 @@
import treeService from '../services/tree.js';
import treeUtils from "../services/tree_utils.js"; import treeUtils from "../services/tree_utils.js";
import utils from "../services/utils.js"; import utils from "../services/utils.js";
import messagingService from "../services/messaging.js"; import messagingService from "../services/messaging.js";
@ -6,7 +5,7 @@ import infoService from "../services/info.js";
const $dialog = $("#export-dialog"); const $dialog = $("#export-dialog");
const $form = $("#export-form"); const $form = $("#export-form");
const $noteTitle = $dialog.find(".note-title"); const $noteTitle = $dialog.find(".export-note-title");
const $subtreeFormats = $("#export-subtree-formats"); const $subtreeFormats = $("#export-subtree-formats");
const $singleFormats = $("#export-single-formats"); const $singleFormats = $("#export-single-formats");
const $subtreeType = $("#export-type-subtree"); const $subtreeType = $("#export-type-subtree");
@ -17,8 +16,9 @@ const $exportButton = $("#export-button");
const $opmlVersions = $("#opml-versions"); const $opmlVersions = $("#opml-versions");
let exportId = ''; let exportId = '';
let branchId = null;
async function showDialog(defaultType) { async function showDialog(node, defaultType) {
utils.closeActiveDialog(); utils.closeActiveDialog();
// each opening of the dialog resets the exportId so we don't associate it with previous exports anymore // each opening of the dialog resets the exportId so we don't associate it with previous exports anymore
@ -46,8 +46,9 @@ async function showDialog(defaultType) {
$dialog.modal(); $dialog.modal();
const currentNode = treeService.getActiveNode(); branchId = node.data.branchId;
const noteTitle = await treeUtils.getNoteTitle(currentNode.data.noteId);
const noteTitle = await treeUtils.getNoteTitle(node.data.noteId);
$noteTitle.html(noteTitle); $noteTitle.html(noteTitle);
} }
@ -70,9 +71,7 @@ $form.submit(() => {
const exportVersion = exportFormat === 'opml' ? $dialog.find("input[name='opml-version']:checked").val() : "1.0"; const exportVersion = exportFormat === 'opml' ? $dialog.find("input[name='opml-version']:checked").val() : "1.0";
const currentNode = treeService.getActiveNode(); exportBranch(branchId, exportType, exportFormat, exportVersion);
exportBranch(currentNode.data.branchId, exportType, exportFormat, exportVersion);
return false; return false;
}); });

View File

@ -19,8 +19,9 @@ const $codeImportedAsCodeCheckbox = $("#code-imported-as-code-checkbox");
const $explodeArchivesCheckbox = $("#explode-archives-checkbox"); const $explodeArchivesCheckbox = $("#explode-archives-checkbox");
let importId; let importId;
let importIntoNoteId = null;
async function showDialog() { async function showDialog(node) {
utils.closeActiveDialog(); utils.closeActiveDialog();
// each opening of the dialog resets the importId so we don't associate it with previous imports anymore // each opening of the dialog resets the importId so we don't associate it with previous imports anymore
@ -37,19 +38,18 @@ async function showDialog() {
glob.activeDialog = $dialog; glob.activeDialog = $dialog;
const currentNode = treeService.getActiveNode(); importIntoNoteId = node.data.noteId;
$noteTitle.text(await treeUtils.getNoteTitle(currentNode.data.noteId));
$noteTitle.text(await treeUtils.getNoteTitle(importIntoNoteId));
$dialog.modal(); $dialog.modal();
} }
$form.submit(() => { $form.submit(() => {
const currentNode = treeService.getActiveNode();
// disabling so that import is not triggered again. // disabling so that import is not triggered again.
$importButton.attr("disabled", "disabled"); $importButton.attr("disabled", "disabled");
importIntoNote(currentNode.data.noteId); importIntoNote(importIntoNoteId);
return false; return false;
}); });

View File

@ -132,10 +132,10 @@ class TreeContextMenu {
treeChangesService.deleteNodes(treeService.getSelectedOrActiveNodes(this.node)); treeChangesService.deleteNodes(treeService.getSelectedOrActiveNodes(this.node));
} }
else if (cmd === "export") { else if (cmd === "export") {
exportDialog.showDialog("subtree"); exportDialog.showDialog(this.node,"subtree");
} }
else if (cmd === "importIntoNote") { else if (cmd === "importIntoNote") {
importDialog.showDialog(); importDialog.showDialog(this.node);
} }
else if (cmd === "collapseSubtree") { else if (cmd === "collapseSubtree") {
treeService.collapseTree(this.node); treeService.collapseTree(this.node);

View File

@ -74,8 +74,6 @@ function getMime(fileName) {
const ext = path.extname(fileName).toLowerCase(); const ext = path.extname(fileName).toLowerCase();
console.log("EXT", ext);
if (ext in EXTENSION_TO_MIME) { if (ext in EXTENSION_TO_MIME) {
console.log(EXTENSION_TO_MIME[ext]); console.log(EXTENSION_TO_MIME[ext]);

View File

@ -2,7 +2,7 @@
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Export note</h5> <h5 class="modal-title">Export note "<span class="export-note-title"></span>"</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>