export stores note position and some other fixes

This commit is contained in:
azivner 2018-11-26 23:39:43 +01:00
parent 137b9dfa0b
commit 139c99440f
3 changed files with 37 additions and 7 deletions

View File

@ -87,6 +87,7 @@ async function exportToTar(branch, format, res) {
isClone: false,
noteId: note.noteId,
title: note.title,
notePosition: branch.notePosition,
prefix: branch.prefix,
isExpanded: branch.isExpanded,
type: note.type,

View File

@ -47,7 +47,7 @@ async function importTar(fileBuffer, importRootNote) {
function getMeta(filePath) {
if (!metaFile) {
return;
return {};
}
const pathSegments = filePath.split(/[\/\\]/g);
@ -83,11 +83,14 @@ async function importTar(fileBuffer, importRootNote) {
else {
const parentPath = path.dirname(filePath);
if (parentPath in createdPaths) {
if (parentPath === '.') {
parentNoteId = importRootNote.noteId;
}
else if (parentPath in createdPaths) {
parentNoteId = createdPaths[parentPath];
}
else {
throw new Error(`Could not find existing path ${parentPath}.`);
throw new Error(`Could not find existing path ${parentPath} for ${filePath}.`);
}
}
@ -212,7 +215,8 @@ async function importTar(fileBuffer, importRootNote) {
noteId,
parentNoteId,
isExpanded: noteMeta.isExpanded,
prefix: noteMeta.prefix
prefix: noteMeta.prefix,
notePosition: noteMeta.notePosition
}).save();
return;
@ -252,11 +256,28 @@ async function importTar(fileBuffer, importRootNote) {
type,
mime,
prefix: noteMeta ? noteMeta.prefix : '',
isExpanded: noteMeta ? noteMeta.isExpanded : false
isExpanded: noteMeta ? noteMeta.isExpanded : false,
notePosition: noteMeta ? noteMeta.notePosition : false
}));
await saveAttributesAndLinks(note, noteMeta);
if (!noteMeta && (type === 'file' || type === 'image')) {
attributes.push({
noteId,
type: 'label',
name: 'originalFileName',
value: path.basename(filePath)
});
attributes.push({
noteId,
type: 'label',
name: 'fileSize',
value: content.byteLength
});
}
if (!firstNote) {
firstNote = note;
}

View File

@ -49,7 +49,14 @@ async function triggerNoteTitleChanged(note) {
* FIXME: noteData has mandatory property "target", it might be better to add it as parameter to reflect this
*/
async function createNewNote(parentNoteId, noteData) {
const newNotePos = await getNewNotePosition(parentNoteId, noteData);
let newNotePos;
if (noteData.notePosition !== undefined) {
newNotePos = noteData.notePosition;
}
else {
newNotePos = await getNewNotePosition(parentNoteId, noteData);
}
const parentNote = await repository.getNote(parentNoteId);
@ -130,7 +137,8 @@ async function createNote(parentNoteId, title, content = "", extraOptions = {})
type: extraOptions.type,
mime: extraOptions.mime,
dateCreated: extraOptions.dateCreated,
isExpanded: extraOptions.isExpanded
isExpanded: extraOptions.isExpanded,
notePosition: extraOptions.notePosition
};
if (extraOptions.json && !noteData.type) {