mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 21:04:33 +08:00
FEATURE: Initial version of experimental admin search (#31299)
This feature allows admins to find what they are looking for in the admin interface via a search modal. This replaces the admin sidebar filter as the focus of the Ctrl+/ command, but the sidebar filter can also still be used. Perhaps at some point we may remove it or change the shortcut. The search modal presents the following data for filtering: * A list of all admin pages, the same as the sidebar, except also showing "third level" pages like "Email > Skipped" * All site settings * Themes * Components * Reports Admins can also filter which types of items are shown in the modal, for example hiding Settings if they know they are looking for a Page. In this PR, I also have the following fixes: * Site setting filters now clear when moving between filtered site setting pages, previously it was super sticky from Ember * Many translations were moved around, instead of being in various namespaces for the sidebar links and the admin page titles and descriptions, now everything is under `admin.config` namespace, this makes it way easier to reuse this text for pages, search, and sidebar, and if you change it in one place then it is changed everywhere. --------- Co-authored-by: Ella <ella.estigoy@gmail.com>
This commit is contained in:
@ -201,6 +201,7 @@ module SiteSettingExtension
|
||||
include_hidden: false,
|
||||
include_locale_setting: true,
|
||||
only_overridden: false,
|
||||
basic_attributes: false,
|
||||
filter_categories: nil,
|
||||
filter_plugin: nil,
|
||||
filter_names: nil,
|
||||
@ -271,15 +272,22 @@ module SiteSettingExtension
|
||||
setting: s,
|
||||
description: description(s),
|
||||
keywords: keywords(s),
|
||||
default: default,
|
||||
value: value.to_s,
|
||||
category: categories[s],
|
||||
preview: previews[s],
|
||||
secret: secret_settings.include?(s),
|
||||
placeholder: placeholder(s),
|
||||
mandatory_values: mandatory_values[s],
|
||||
requires_confirmation: requires_confirmation_settings[s],
|
||||
}.merge!(type_hash)
|
||||
primary_area: areas[s]&.first,
|
||||
}
|
||||
|
||||
if !basic_attributes
|
||||
opts.merge!(
|
||||
default: default,
|
||||
value: value.to_s,
|
||||
preview: previews[s],
|
||||
secret: secret_settings.include?(s),
|
||||
placeholder: placeholder(s),
|
||||
mandatory_values: mandatory_values[s],
|
||||
requires_confirmation: requires_confirmation_settings[s],
|
||||
)
|
||||
opts.merge!(type_hash)
|
||||
end
|
||||
|
||||
opts[:plugin] = plugins[s] if plugins[s]
|
||||
|
||||
|
Reference in New Issue
Block a user