Maybe fixing bug with locked down textarea

This commit is contained in:
Fabian 2019-05-31 22:19:48 +02:00
parent e5b0c96434
commit 609ca4d3f5

View File

@ -12,17 +12,14 @@ import Modal from "../../modals/Modal";
const minRows = 3; const minRows = 3;
export default class EntryComponent extends Component<{ vault: Promise<IVault>, id: string | undefined, note: string | undefined }, { title: string, changed: boolean }> { export default class EntryComponent extends Component<{ vault: Promise<IVault>, id: string | undefined, note: string | undefined }, { title: string, changed: boolean }> {
old_text: string; private text: string = "";
text: string = ""; private vault: IVault;
vault: IVault; // private lineHeight: number = 24;
lineHeight: number = 24; private note: ViewNote;
note: ViewNote;
rows: number = minRows; private rows: number = minRows;
skip_save: boolean = false; private skip_save: boolean = false;
// loading?: LoadingModal;
constructor(props) { constructor(props) {
super(props); super(props);
@ -30,12 +27,16 @@ export default class EntryComponent extends Component<{ vault: Promise<IVault>,
} }
private toVault() { private toVault() {
// history.back()
history.back(); history.back();
// Navigation.setPage("/vault", { id: this.vault.id }, { entry: "false" }, true);
} }
async componentWillMount() { async componentWillMount() {
this.text = "";
this.vault = undefined;
this.note = undefined;
this.rows = minRows;
this.skip_save = false;
this.setState({ changed: false, title: "" });
try { try {
this.skip_save = false; this.skip_save = false;
// this.loading = new LoadingModal(); // this.loading = new LoadingModal();
@ -64,6 +65,10 @@ export default class EntryComponent extends Component<{ vault: Promise<IVault>,
if (rows !== this.rows) { if (rows !== this.rows) {
this.rows = rows; this.rows = rows;
} }
// async onKeypress(event) {
// event = event || window.event;
//
// }
let [title] = this.text.split("\n", 1); let [title] = this.text.split("\n", 1);
this.setState({ title, changed }) this.setState({ title, changed })
// if (this.loading) // if (this.loading)
@ -86,11 +91,6 @@ export default class EntryComponent extends Component<{ vault: Promise<IVault>,
} }
} }
// async onKeypress(event) {
// event = event || window.event;
//
// }
componentWillUnmount() { componentWillUnmount() {
if (!this.skip_save) if (!this.skip_save)
this.save() this.save()
@ -161,6 +161,10 @@ export default class EntryComponent extends Component<{ vault: Promise<IVault>,
const delete_handler = async () => { const delete_handler = async () => {
await this.vault.deleteNote(this.props.id); await this.vault.deleteNote(this.props.id);
this.toVault() this.toVault()
// async onKeypress(event) {
// event = event || window.event;
//
// }
} }
return <div> return <div>
@ -174,13 +178,18 @@ export default class EntryComponent extends Component<{ vault: Promise<IVault>,
</header> </header>
<div class="uk-container"> <div class="uk-container">
<textarea <textarea
// async onKeypress(event) {
// event = event || window.event;
//
// }
autofocus autofocus
value={this.text} value={this.text}
rows={this.rows} rows={this.rows}
class="doc uk-textarea" class="doc uk-textarea"
style="width:100%;" style="width:100%;"
onInput={evt => this.textAreaChange(evt as KeyboardEvent)}
onKeyDown={evt => this.textAreaKeyPress(evt)} onKeyDown={evt => this.textAreaKeyPress(evt)}
onKeyUp={evt => this.textAreaChange(evt)} onChange={evt => this.textAreaChange(evt as KeyboardEvent)}
ref={elm => { ref={elm => {
if (elm) if (elm)
setTimeout(() => elm.focus(), 500) setTimeout(() => elm.focus(), 500)