Rewrite Mostly Stable
This commit is contained in:
parent
88eea5ad67
commit
67221411f8
5 changed files with 20 additions and 3 deletions
|
@ -8,6 +8,7 @@ import {
|
|||
BetterWordCountSettings,
|
||||
DEFAULT_SETTINGS,
|
||||
} from "src/settings/Settings";
|
||||
import { settingsStore } from "./utils/SvelteStores";
|
||||
|
||||
export default class BetterWordCount extends Plugin {
|
||||
public settings: BetterWordCountSettings;
|
||||
|
@ -20,6 +21,12 @@ export default class BetterWordCount extends Plugin {
|
|||
}
|
||||
|
||||
async onload() {
|
||||
// Settings Store
|
||||
this.register(
|
||||
settingsStore.subscribe((value) => {
|
||||
this.settings = value;
|
||||
})
|
||||
);
|
||||
// Handle Settings
|
||||
this.settings = Object.assign(DEFAULT_SETTINGS, await this.loadData());
|
||||
this.addSettingTab(new BetterWordCountSettingsTab(this.app, this));
|
||||
|
|
|
@ -26,7 +26,7 @@ export interface BetterWordCountSettings {
|
|||
collectStats: boolean;
|
||||
}
|
||||
|
||||
export const DEFAULT_SETTINGS: BetterWordCountSettings = {
|
||||
export const DEFAULT_SETTINGS: BetterWordCountSettings = Object.freeze({
|
||||
statusBar: [
|
||||
{
|
||||
prefix: "",
|
||||
|
@ -41,4 +41,4 @@ export const DEFAULT_SETTINGS: BetterWordCountSettings = {
|
|||
],
|
||||
countComments: false,
|
||||
collectStats: false,
|
||||
};
|
||||
});
|
||||
|
|
|
@ -22,7 +22,7 @@ export default class StatusBar {
|
|||
);
|
||||
|
||||
this.statusBarEl.classList.add("mod-clickable");
|
||||
this.statusBarEl.setAttribute("aria-label", "Open Stats View");
|
||||
this.statusBarEl.setAttribute("aria-label", "Coming Soon");
|
||||
this.statusBarEl.setAttribute("aria-label-position", "top");
|
||||
this.statusBarEl.addEventListener("click", (ev: MouseEvent) =>
|
||||
this.onClick(ev)
|
||||
|
|
8
src/utils/SvelteStores.ts
Normal file
8
src/utils/SvelteStores.ts
Normal file
|
@ -0,0 +1,8 @@
|
|||
import {
|
||||
BetterWordCountSettings,
|
||||
DEFAULT_SETTINGS,
|
||||
} from "src/settings/Settings";
|
||||
import { writable } from "svelte/store";
|
||||
|
||||
export const settingsStore =
|
||||
writable<BetterWordCountSettings>(DEFAULT_SETTINGS);
|
|
@ -1,9 +1,11 @@
|
|||
import { ItemView, WorkspaceLeaf } from "obsidian";
|
||||
import { STATS_ICON_NAME, VIEW_TYPE_STATS } from "src/constants";
|
||||
import type BetterWordCount from "src/main";
|
||||
//@ts-ignore
|
||||
import Statistics from "./Statistics.svelte";
|
||||
|
||||
export default class StatsView extends ItemView {
|
||||
private plugin: BetterWordCount;
|
||||
private statistics: Statistics;
|
||||
|
||||
constructor(leaf: WorkspaceLeaf) {
|
||||
|
|
Loading…
Reference in a new issue