@namespace Oqtane.Modules.Admin.Search @inherits ModuleBase @inject ISettingService SettingService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer




@code { public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; private string _searchProvider; private string _enabled; private string _lastIndexedOn; private string _ignorePaths; private string _ignoreEntities; private string _minimumWordLength; private string _ignoreWords; protected override async Task OnInitializedAsync() { var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId); _searchProvider = SettingService.GetSetting(settings, "Search_SearchProvider", Constants.DefaultSearchProviderName); _enabled = SettingService.GetSetting(settings, "Search_Enabled", "True"); _lastIndexedOn = SettingService.GetSetting(settings, "Search_LastIndexedOn", ""); _ignorePaths = SettingService.GetSetting(settings, "Search_IgnorePaths", ""); _ignoreEntities = SettingService.GetSetting(settings, "Search_IgnoreEntities", ""); _minimumWordLength = SettingService.GetSetting(settings, "Search_MininumWordLength", "3"); _ignoreWords = SettingService.GetSetting(settings, "Search_IgnoreWords", ""); } private async Task Save() { try { var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId); settings = SettingService.SetSetting(settings, "Search_SearchProvider", _searchProvider); settings = SettingService.SetSetting(settings, "Search_Enabled", _enabled, true); settings = SettingService.SetSetting(settings, "Search_LastIndexedOn", _lastIndexedOn, true); settings = SettingService.SetSetting(settings, "Search_IgnorePaths", _ignorePaths, true); settings = SettingService.SetSetting(settings, "Search_IgnoreEntities", _ignoreEntities, true); settings = SettingService.SetSetting(settings, "Search_MininumWordLength", _minimumWordLength, true); settings = SettingService.SetSetting(settings, "Search_IgnoreWords", _ignoreWords, true); await SettingService.UpdateSiteSettingsAsync(settings, PageState.Site.SiteId); AddModuleMessage(Localizer["Success.Save"], MessageType.Success); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Search Settings {Error}", ex.Message); AddModuleMessage(Localizer["Error.Save"], MessageType.Error); } } }