From 9fdddb7f75b70f634401599985c01c6172f39303 Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Sat, 23 Apr 2022 22:44:54 +0200 Subject: [PATCH] Refactored Svelte components --- package.json | 2 +- src/CmpResultInFile.svelte | 25 --------------- .../InputSearch.svelte} | 1 - src/components/ModalContainer.svelte | 6 ++++ .../ModalInFile.svelte} | 29 +++++++++-------- .../ModalVault.svelte} | 32 ++++++++++--------- src/components/ResultItemContainer.svelte | 17 ++++++++++ .../ResultItemInFile.svelte} | 19 ++++------- src/components/ResultItemVault.svelte | 19 +++++++++++ src/main.ts | 6 ++-- src/modal.ts | 16 +++++----- 11 files changed, 92 insertions(+), 80 deletions(-) delete mode 100644 src/CmpResultInFile.svelte rename src/{CmpInput.svelte => components/InputSearch.svelte} (94%) create mode 100644 src/components/ModalContainer.svelte rename src/{CmpModalInFile.svelte => components/ModalInFile.svelte} (83%) rename src/{CmpModalVault.svelte => components/ModalVault.svelte} (79%) create mode 100644 src/components/ResultItemContainer.svelte rename src/{CmpResultNote.svelte => components/ResultItemInFile.svelte} (57%) create mode 100644 src/components/ResultItemVault.svelte diff --git a/package.json b/package.json index 7ee9b01..85d2780 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Search over organization", "main": "dist/main.js", "scripts": { - "dev": "node esbuild.config.mjs", + "dev": "pnpm run build && node esbuild.config.mjs", "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", "version": "node version-bump.mjs && git add manifest.json versions.json package.json", "lint": "eslint . --ext .ts --fix --ignore-path .gitignore", diff --git a/src/CmpResultInFile.svelte b/src/CmpResultInFile.svelte deleted file mode 100644 index ac4afe9..0000000 --- a/src/CmpResultInFile.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - -
dispatch("hover")} - on:click={(e) => dispatch("click")} -> -
- {@html makeExcerpt(note?.content ?? "", offset).replace(reg, highlighter)} -
-
diff --git a/src/CmpInput.svelte b/src/components/InputSearch.svelte similarity index 94% rename from src/CmpInput.svelte rename to src/components/InputSearch.svelte index 35c0f97..48bea22 100644 --- a/src/CmpInput.svelte +++ b/src/components/InputSearch.svelte @@ -10,7 +10,6 @@ let elInput: HTMLInputElement onMount(async () => { await tick() elInput.focus() - // elInput.value = $searchQuery elInput.select() }) diff --git a/src/components/ModalContainer.svelte b/src/components/ModalContainer.svelte new file mode 100644 index 0000000..f772107 --- /dev/null +++ b/src/components/ModalContainer.svelte @@ -0,0 +1,6 @@ + + + diff --git a/src/CmpModalInFile.svelte b/src/components/ModalInFile.svelte similarity index 83% rename from src/CmpModalInFile.svelte rename to src/components/ModalInFile.svelte index 3197667..f2e1166 100644 --- a/src/CmpModalInFile.svelte +++ b/src/components/ModalInFile.svelte @@ -3,22 +3,23 @@ let lastSearch = "" - (searchQuery = e.detail)} /> + (searchQuery = e.detail)} /> - +
↑↓to navigate diff --git a/src/CmpModalVault.svelte b/src/components/ModalVault.svelte similarity index 79% rename from src/CmpModalVault.svelte rename to src/components/ModalVault.svelte index 8301392..51eb230 100644 --- a/src/CmpModalVault.svelte +++ b/src/components/ModalVault.svelte @@ -5,15 +5,16 @@ let lastSearch = "" - (searchQuery = e.detail)} /> + (searchQuery = e.detail)} /> - + +
↑↓to navigate diff --git a/src/components/ResultItemContainer.svelte b/src/components/ResultItemContainer.svelte new file mode 100644 index 0000000..c65c61d --- /dev/null +++ b/src/components/ResultItemContainer.svelte @@ -0,0 +1,17 @@ + + +
+ +
diff --git a/src/CmpResultNote.svelte b/src/components/ResultItemInFile.svelte similarity index 57% rename from src/CmpResultNote.svelte rename to src/components/ResultItemInFile.svelte index 08ddba4..5430c13 100644 --- a/src/CmpResultNote.svelte +++ b/src/components/ResultItemInFile.svelte @@ -1,10 +1,9 @@ -
dispatch("hover")} - on:click={(e) => dispatch("click")} -> + {@html note.basename.replace(reg, highlighter)} @@ -30,4 +23,4 @@ $: cleanedContent = makeExcerpt(note.content, note.matches[0]?.offset ?? -1)
{@html cleanedContent.replace(reg, highlighter)}
-
+ diff --git a/src/components/ResultItemVault.svelte b/src/components/ResultItemVault.svelte new file mode 100644 index 0000000..2ea252d --- /dev/null +++ b/src/components/ResultItemVault.svelte @@ -0,0 +1,19 @@ + + + +
+ {@html cleanedContent.replace(reg, highlighter)} +
+
diff --git a/src/main.ts b/src/main.ts index ca41bbe..f67458e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import { removeFromIndex, removeFromIndexByPath, } from './search' -import { ModalInFile, ModalVault } from './modal' +import { OmnisearchInFileModal, OmnisearchVaultModal } from './modal' export default class OmnisearchPlugin extends Plugin { async onload(): Promise { @@ -14,7 +14,7 @@ export default class OmnisearchPlugin extends Plugin { id: 'show-modal', name: 'Vault search', callback: () => { - new ModalVault(app).open() + new OmnisearchVaultModal(app).open() }, }) @@ -25,7 +25,7 @@ export default class OmnisearchPlugin extends Plugin { const view = app.workspace.getActiveViewOfType(MarkdownView) if (view) { if (!checking) { - new ModalInFile(app, view.file).open() + new OmnisearchInFileModal(app, view.file).open() } return true } diff --git a/src/modal.ts b/src/modal.ts index ed5e95b..5a12841 100644 --- a/src/modal.ts +++ b/src/modal.ts @@ -1,9 +1,9 @@ import { App, Modal, TFile } from 'obsidian' -import CmpModalVault from './CmpModalVault.svelte' -import CmpModalInFile from './CmpModalInFile.svelte' +import ModalVault from './components/ModalVault.svelte' +import ModalInFile from './components/ModalInFile.svelte' import { eventBus } from './globals' -abstract class ModalOmnisearch extends Modal { +abstract class OmnisearchModal extends Modal { constructor(app: App) { super(app) @@ -50,10 +50,10 @@ abstract class ModalOmnisearch extends Modal { } } -export class ModalVault extends ModalOmnisearch { +export class OmnisearchVaultModal extends OmnisearchModal { constructor(app: App) { super(app) - const cmp = new CmpModalVault({ + const cmp = new ModalVault({ target: this.modalEl, props: { modal: this, @@ -68,16 +68,16 @@ export class ModalVault extends ModalOmnisearch { } } -export class ModalInFile extends ModalOmnisearch { +export class OmnisearchInFileModal extends OmnisearchModal { constructor( app: App, file: TFile, searchQuery: string = '', - parent?: ModalOmnisearch, + parent?: OmnisearchModal, ) { super(app) - const cmp = new CmpModalInFile({ + const cmp = new ModalInFile({ target: this.modalEl, props: { modal: this,