mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
Make it easier to update buttons and menus
This commit is contained in:
parent
7f42b38e7a
commit
45992b68cd
1 changed files with 16 additions and 9 deletions
|
@ -7,37 +7,44 @@ import EditorToolbarSvelte from "./EditorToolbar.svelte";
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
export { updateActiveButtons, clearActiveButtons } from "./CommandIconButton.svelte";
|
export { updateActiveButtons, clearActiveButtons } from "./CommandIconButton.svelte";
|
||||||
import { Writable, writable } from "svelte/store";
|
import { writable } from "svelte/store";
|
||||||
|
|
||||||
import { notetypeButtons } from "./notetype";
|
import { notetypeButtons } from "./notetype";
|
||||||
import { formatButtons } from "./format";
|
import { formatButtons } from "./format";
|
||||||
import { colorButtons } from "./color";
|
import { colorButtons } from "./color";
|
||||||
import { templateButtons, templateMenus } from "./template";
|
import { templateButtons, templateMenus } from "./template";
|
||||||
|
|
||||||
const defaultMenus = [...templateMenus];
|
|
||||||
|
|
||||||
const defaultButtons = [notetypeButtons, formatButtons, colorButtons, templateButtons];
|
const defaultButtons = [notetypeButtons, formatButtons, colorButtons, templateButtons];
|
||||||
|
const defaultMenus = [...templateMenus];
|
||||||
|
|
||||||
class EditorToolbar extends HTMLElement {
|
class EditorToolbar extends HTMLElement {
|
||||||
component?: SvelteComponent;
|
component?: SvelteComponent;
|
||||||
disabled?: Writable<boolean>;
|
|
||||||
|
buttons = defaultButtons;
|
||||||
|
menus = defaultMenus;
|
||||||
|
disabled? = writable(false);
|
||||||
|
|
||||||
connectedCallback(): void {
|
connectedCallback(): void {
|
||||||
this.disabled = writable(false);
|
|
||||||
|
|
||||||
setupI18n({ modules: [ModuleName.EDITING] }).then(() => {
|
setupI18n({ modules: [ModuleName.EDITING] }).then(() => {
|
||||||
this.component = new EditorToolbarSvelte({
|
this.component = new EditorToolbarSvelte({
|
||||||
target: this,
|
target: this,
|
||||||
props: {
|
props: {
|
||||||
menus: defaultMenus,
|
buttons: this.buttons,
|
||||||
buttons: defaultButtons,
|
menus: this.menus,
|
||||||
nightMode: checkNightMode(),
|
|
||||||
disabled: this.disabled,
|
disabled: this.disabled,
|
||||||
|
nightMode: checkNightMode(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update(): void {
|
||||||
|
this.component?.$set({
|
||||||
|
button: this.buttons,
|
||||||
|
menus: this.menus,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
enableButtons(): void {
|
enableButtons(): void {
|
||||||
this.disabled?.set(false);
|
this.disabled?.set(false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue