fix topic and notebook editing

This commit is contained in:
ammarahm-ed
2020-05-12 14:09:56 +05:00
parent b2d20b127b
commit 95b4daf60b
2 changed files with 29 additions and 12 deletions

View File

@@ -114,22 +114,34 @@ export class AddNotebookDialog extends React.Component {
let id = toEdit && toEdit.id ? toEdit.id : null;
let t = [...topics];
console.log(this.prevIndex, this.prevItem);
if (
this.currentInputValue &&
this.currentInputValue.trim().length !== 0
) {
if (this.prevItem != null) {
t[this.prevIndex] = this.currentInputValue;
} else {
t.push(this.currentInputValue);
this.currentInputValue = null;
}
}
if (id) {
await db.notebooks.add({
title: this.title,
description: this.description,
id: id,
});
console.log(t);
await db.notebooks.notebook(id).topics.add(...t);
let allTopics = toEdit.topics;
t.forEach((title, index) => {
if (allTopics[index]) {
allTopics[index].title = title;
} else {
allTopics.push(title);
}
});
console.log(allTopics);
await db.notebooks.notebook(id).topics.add(...allTopics);
} else {
await db.notebooks.add({
title: this.title,
@@ -146,7 +158,7 @@ export class AddNotebookDialog extends React.Component {
}, 100);
};
onSubmit = () => {
onSubmit = (forward = true) => {
let {topics} = this.state;
if (!this.currentInputValue || this.currentInputValue.trim().length === 0)
return;
@@ -171,7 +183,7 @@ export class AddNotebookDialog extends React.Component {
topics: prevTopics,
});
this.currentInputValue = null;
if (prevTopics[this.prevIndex + 1]) {
if (prevTopics[this.prevIndex + 1] && forward) {
this.prevIndex = this.prevIndex + 1;
this.prevItem = prevTopics[this.prevIndex];
this.currentInputValue = this.prevItem;
@@ -188,11 +200,13 @@ export class AddNotebookDialog extends React.Component {
this.topicInputRef.setNativeProps({
text: null,
});
if (forward) {
setTimeout(() => {
this.listRef.scrollToEnd({animated: true});
}, 30);
}
}
}
};
render() {
@@ -364,7 +378,7 @@ export class AddNotebookDialog extends React.Component {
});
}}
onBlur={() => {
this.onSubmit();
this.onSubmit(false);
this.setState({
topicInputFoused: false,
});

View File

@@ -27,6 +27,9 @@ export class AddTopicDialog extends React.Component {
if (!this.props.toEdit) {
await db.notebooks.notebook(this.props.notebookID).topics.add(this.title);
} else {
let topic = this.props.toEdit;
topic.title = this.title;
await db.notebooks.notebook(this.props.notebookID).topics.add(topic);
}
this.close();
ToastEvent.show('New topic added', 'success');