From 9395d7f3f5087932305ac728e7fe7d3f248b3594 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Mon, 7 Dec 2020 17:51:17 +0100 Subject: [PATCH] fix ask every time not being respected for no preview option --- src/open/ServerConsentView.js | 15 ++++++++++----- src/open/ServerConsentViewModel.js | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/open/ServerConsentView.js b/src/open/ServerConsentView.js index 00a873c..e35c257 100644 --- a/src/open/ServerConsentView.js +++ b/src/open/ServerConsentView.js @@ -19,13 +19,13 @@ import {ClientListView} from "./ClientListView.js"; import {PreviewView} from "../preview/PreviewView.js"; export class ServerConsentView extends TemplateView { - render(t, vm) { + render(t, vm) { const useAnotherServer = t.button({ className: "text", onClick: () => vm.setShowServers()}, "use another server"); const continueWithoutPreview = t.button({ className: "text", - onClick: () => vm.continueWithoutConsent() + onClick: () => vm.continueWithoutConsent(this._askEveryTimeChecked) }, "continue without a preview"); return t.div({className: "ServerConsentView"}, [ t.p([ @@ -48,7 +48,7 @@ export class ServerConsentView extends TemplateView { continueWithoutPreview, "." ]), - t.form({action: "#", onSubmit: evt => this._onSubmit(evt)}, [ + t.form({action: "#", id: "serverConsentForm", onSubmit: evt => this._onSubmit(evt)}, [ t.mapView(vm => vm.showSelectServer, show => show ? new ServerOptions(vm) : null), t.div({className: "actions"}, [ t.label([t.input({type: "checkbox", name: "askEveryTime"}), "Ask every time"]), @@ -60,8 +60,13 @@ export class ServerConsentView extends TemplateView { _onSubmit(evt) { evt.preventDefault(); - const {askEveryTime} = evt.target.elements; - this.value.continueWithSelection(askEveryTime.checked); + this.value.continueWithSelection(this._askEveryTimeChecked); + } + + get _askEveryTimeChecked() { + const form = document.getElementById("serverConsentForm"); + const {askEveryTime} = form.elements; + return askEveryTime.checked; } } diff --git a/src/open/ServerConsentViewModel.js b/src/open/ServerConsentViewModel.js index 7278f61..2cb6e07 100644 --- a/src/open/ServerConsentViewModel.js +++ b/src/open/ServerConsentViewModel.js @@ -64,8 +64,8 @@ export class ServerConsentViewModel extends ViewModel { this.done(); } - continueWithoutConsent() { - this.preferences.setHomeservers([]); + continueWithoutConsent(askEveryTime) { + this.preferences.setHomeservers([], !askEveryTime); this.done(); } }