From 3d7932e5800b3d9ec220ac26b7c2d174fea50939 Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Mon, 17 Feb 2025 07:47:09 +0100 Subject: [PATCH] Moved recency setting --- src/settings/index.ts | 6 ++++ src/settings/settings-behavior.ts | 21 ------------- src/settings/settings-weighting.ts | 50 +++++++++++++++++++++--------- 3 files changed, 41 insertions(+), 36 deletions(-) diff --git a/src/settings/index.ts b/src/settings/index.ts index 55b9ff0..67d2109 100644 --- a/src/settings/index.ts +++ b/src/settings/index.ts @@ -57,11 +57,17 @@ export class SettingsTab extends PluginSettingTab { ` injectSettingsIndexing(this.plugin, settings, containerEl) + containerEl.createEl('hr') injectSettingsBehavior(this.plugin, settings, containerEl) + containerEl.createEl('hr') injectSettingsUserInterface(this.plugin, settings, containerEl) + containerEl.createEl('hr') injectSettingsWeighting(this.plugin, settings, containerEl, this.display) + containerEl.createEl('hr') injectSettingsHttp(this.plugin, settings, containerEl) + containerEl.createEl('hr') injectSettingsDanger(this.plugin, settings, containerEl) + containerEl.createEl('hr') //#region Debugging diff --git a/src/settings/settings-behavior.ts b/src/settings/settings-behavior.ts index 49f9202..6ae191c 100644 --- a/src/settings/settings-behavior.ts +++ b/src/settings/settings-behavior.ts @@ -3,7 +3,6 @@ import type { OmnisearchSettings } from './utils' import { saveSettings } from './utils' import { htmlDescription, needsARestart } from './utils' import type OmnisearchPlugin from 'src/main' -import { RecencyCutoff } from 'src/globals' import { getCtrlKeyLabel } from 'src/tools/utils' export function injectSettingsBehavior( @@ -53,26 +52,6 @@ export function injectSettingsBehavior( }) ) - new Setting(containerEl) - .setName('Recency boost (experimental)') - .setDesc( - 'Files that have been modified more recently than [selected cutoff] are given a higher rank.' - ) - .addDropdown(dropdown => - dropdown - .addOptions({ - [RecencyCutoff.Disabled]: 'Disabled', - [RecencyCutoff.Day]: '24 hours', - [RecencyCutoff.Week]: '7 days', - [RecencyCutoff.Month]: '30 days', - }) - .setValue(settings.recencyBoost) - .onChange(async v => { - settings.recencyBoost = v as RecencyCutoff - await saveSettings(plugin) - }) - ) - // Downranked files new Setting(containerEl) .setName('Folders to downrank in search results') diff --git a/src/settings/settings-weighting.ts b/src/settings/settings-weighting.ts index 8b7f438..f83dae6 100644 --- a/src/settings/settings-weighting.ts +++ b/src/settings/settings-weighting.ts @@ -1,11 +1,10 @@ import { Setting, SliderComponent } from 'obsidian' -import { - getDefaultSettings, -} from 'src/settings' +import { getDefaultSettings } from 'src/settings' import type { OmnisearchSettings } from './utils' import { saveSettings } from './utils' import type { WeightingSettings } from './utils' import type OmnisearchPlugin from 'src/main' +import { RecencyCutoff } from 'src/globals' export function injectSettingsWeighting( plugin: OmnisearchPlugin, @@ -64,18 +63,19 @@ export function injectSettingsWeighting( for (let i = 0; i < settings.weightCustomProperties.length; i++) { const item = settings.weightCustomProperties[i] - new Setting(containerEl) - .setName((i + 1).toString() + '.') - // TODO: add autocompletion from app.metadataCache.getAllPropertyInfos() - .addText(text => { - text - .setPlaceholder('Property name') - .setValue(item.name) - .onChange(async v => { - item.name = v - await saveSettings(plugin) - }) - }) + const el = new Setting(containerEl).setName((i + 1).toString() + '.') + el.settingEl.style.paddingLeft = '2em' + + // TODO: add autocompletion from app.metadataCache.getAllPropertyInfos() + el.addText(text => { + text + .setPlaceholder('Property name') + .setValue(item.name) + .onChange(async v => { + item.name = v + await saveSettings(plugin) + }) + }) .addSlider(cb => { cb.setLimits(0.1, 5, 0.1) .setValue(item.weight) @@ -104,4 +104,24 @@ export function injectSettingsWeighting( refreshDisplay() }) }) + + new Setting(containerEl) + .setName('Recency boost (experimental)') + .setDesc( + 'Files that have been modified more recently than [selected cutoff] are given a higher rank.' + ) + .addDropdown(dropdown => + dropdown + .addOptions({ + [RecencyCutoff.Disabled]: 'Disabled', + [RecencyCutoff.Day]: '24 hours', + [RecencyCutoff.Week]: '7 days', + [RecencyCutoff.Month]: '30 days', + }) + .setValue(settings.recencyBoost) + .onChange(async v => { + settings.recencyBoost = v as RecencyCutoff + await saveSettings(plugin) + }) + ) }