Compare commits

...

2 Commits

Author SHA1 Message Date
Fabian
609ca4d3f5 Maybe fixing bug with locked down textarea 2019-05-31 22:19:48 +02:00
Fabian
e5b0c96434 Making periodic Synchronisation 2019-05-31 22:16:16 +02:00
3 changed files with 35 additions and 28 deletions

View File

@ -48,19 +48,12 @@ var Types;
Types[Types["REFRESH"] = 2] = "REFRESH"; Types[Types["REFRESH"] = 2] = "REFRESH";
})(Types || (Types = {})); })(Types || (Types = {}));
let rules = [ let rules = [{
{
match: (url) => { match: (url) => {
return url.indexOf("/api/") >= 0; return url.indexOf("/api/") >= 0;
}, },
type: Types.NOCACHE type: Types.NOCACHE
}, },
{
match: (url) => {
return url.indexOf("/version_hash") >= 0;
},
type: Types.NOCACHE
},
{ {
match: () => { match: () => {
return true; return true;
@ -95,7 +88,12 @@ async function fromCache(request) {
return matching return matching
let res = await fetch(request.clone()); let res = await fetch(request.clone());
await cache.put(request, res); await cache.put(request, {
match: (url) => {
return url.indexOf("/version_hash") >= 0;
},
type: Types.NOCACHE
}, res);
return await cache.match(request); return await cache.match(request);
} }

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)

View File

@ -167,7 +167,7 @@ class NotesProvider {
public async start() { public async start() {
const next = () => { const next = () => {
setTimeout(() => { setTimeout(() => {
this.sync().then(() => next); this.sync().then(next);
}, 30000) }, 30000)
} }
this.syncedObservableServer.send((await this.oplogDB.getAll()).length <= 0); this.syncedObservableServer.send((await this.oplogDB.getAll()).length <= 0);