Restore $deckOptions (#3265)
* Restore $deckOptions * Avoid error in logs when using ./yarn dev or mobile clients (dae)
This commit is contained in:
parent
55d68c01d8
commit
fa47e905c5
@ -43,6 +43,7 @@ class DeckOptionsDialog(QDialog):
|
|||||||
addCloseShortcut(self)
|
addCloseShortcut(self)
|
||||||
|
|
||||||
self.web = AnkiWebView(kind=AnkiWebViewKind.DECK_OPTIONS)
|
self.web = AnkiWebView(kind=AnkiWebViewKind.DECK_OPTIONS)
|
||||||
|
self.web.set_bridge_command(self._on_bridge_cmd, self)
|
||||||
self.web.load_sveltekit_page(f"deck-options/{self._deck['id']}")
|
self.web.load_sveltekit_page(f"deck-options/{self._deck['id']}")
|
||||||
layout = QVBoxLayout()
|
layout = QVBoxLayout()
|
||||||
layout.setContentsMargins(0, 0, 0, 0)
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
@ -53,7 +54,10 @@ class DeckOptionsDialog(QDialog):
|
|||||||
self.setWindowTitle(
|
self.setWindowTitle(
|
||||||
without_unicode_isolation(tr.actions_options_for(val=self._deck["name"]))
|
without_unicode_isolation(tr.actions_options_for(val=self._deck["name"]))
|
||||||
)
|
)
|
||||||
gui_hooks.deck_options_did_load(self)
|
|
||||||
|
def _on_bridge_cmd(self, cmd: str) -> None:
|
||||||
|
if cmd == "deckOptionsReady":
|
||||||
|
gui_hooks.deck_options_did_load(self)
|
||||||
|
|
||||||
def reject(self) -> None:
|
def reject(self) -> None:
|
||||||
self.mw.col.set_wants_abort()
|
self.mw.col.set_wants_abort()
|
||||||
|
@ -14,6 +14,10 @@ export function bridgeLink(command: string, label: string): string {
|
|||||||
return `<a href="javascript:bridgeCommand('${command}')">${label}</a>`;
|
return `<a href="javascript:bridgeCommand('${command}')">${label}</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function bridgeCommandsAvailable(): boolean {
|
||||||
|
return !!window.bridgeCommand;
|
||||||
|
}
|
||||||
|
|
||||||
export function bridgeCommand<T>(command: string, callback?: (value: T) => void): void {
|
export function bridgeCommand<T>(command: string, callback?: (value: T) => void): void {
|
||||||
window.bridgeCommand<T>(command, callback);
|
window.bridgeCommand<T>(command, callback);
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,22 @@ Copyright: Ankitects Pty Ltd and contributors
|
|||||||
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
-->
|
-->
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { onMount } from "svelte";
|
||||||
import DeckOptionsPage from "../DeckOptionsPage.svelte";
|
import DeckOptionsPage from "../DeckOptionsPage.svelte";
|
||||||
import type { PageData } from "./$types";
|
import type { PageData } from "./$types";
|
||||||
|
import { bridgeCommand, bridgeCommandsAvailable } from "@tslib/bridgecommand";
|
||||||
|
|
||||||
export let data: PageData;
|
export let data: PageData;
|
||||||
|
let page: DeckOptionsPage;
|
||||||
|
|
||||||
|
onMount(() => {
|
||||||
|
globalThis.$deckOptions = new Promise((resolve, _reject) => {
|
||||||
|
resolve(page);
|
||||||
|
});
|
||||||
|
if (bridgeCommandsAvailable()) {
|
||||||
|
bridgeCommand("deckOptionsReady");
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<DeckOptionsPage state={data.state} />
|
<DeckOptionsPage state={data.state} bind:this={page} />
|
||||||
|
Loading…
Reference in New Issue
Block a user