Loading admin_toolbar_search/README.md 0 → 100644 +32 −0 Original line number Diff line number Diff line # Admin Toolbar Search Admin Toolbar Search provides a search field for administration pages. Use the shortcut `Alt` + `a` for quick access. For a full description of the module, visit the [project page](https://www.drupal.org/project/admin_toolbar). Submit bug reports and feature suggestions, or track changes in the [issue queue](https://www.drupal.org/project/issues/search/admin_toolbar). ## Table of contents - Requirements - Installation - Configuration ## Requirements This module requires the following modules: - [Admin Toolbar](https://www.drupal.org/project/admin_toolbar) ## Installation Install as you would normally install a contributed Drupal module. For further information, see [Installing Drupal Modules](https://www.drupal.org/docs/extending-drupal/installing-drupal-modules). ## Configuration No configuration is needed. admin_toolbar_search/admin_toolbar_search.install 0 → 100644 +27 −0 Original line number Diff line number Diff line <?php /** * @file * Install, update and uninstall functions for the Admin Toolbar Search module. */ /** * Update settings: 'display_menu_item' and 'enable_keyboard_shortcut'. */ function admin_toolbar_search_update_8001() { // Convert the 'display_menu_item' setting from integer to boolean and enable // the 'enable_keyboard_shortcut' setting by default. /** @var \Drupal\Core\Config\Config $admin_toolbar_search_config */ $admin_toolbar_search_config = \Drupal::service('config.factory') ->getEditable('admin_toolbar_search.settings'); // Get the current value of 'display_menu_item' setting, which is an integer. $display_menu_item = $admin_toolbar_search_config->get('display_menu_item'); // Update the configuration settings. $admin_toolbar_search_config // Convert the existing field value from an integer to a boolean. ->set('display_menu_item', (bool) $display_menu_item) // Enable the keyboard shortcut by default. ->set('enable_keyboard_shortcut', TRUE) ->save(TRUE); } admin_toolbar_search/admin_toolbar_search.libraries.yml +6 −0 Original line number Diff line number Diff line Loading @@ -9,3 +9,9 @@ search: - core/drupal - core/once - core/drupal.autocomplete search.keyboard_shortcut: js: js/admin_toolbar_search.keyboard_shortcut.js: {} dependencies: - admin_toolbar_search/search admin_toolbar_search/admin_toolbar_search.module +26 −9 Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ */ use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Url; /** Loading Loading @@ -34,16 +33,21 @@ function admin_toolbar_search_toolbar_alter(&$items) { $admin_toolbar_tools_enabled = \Drupal::service('module_handler') ->moduleExists('admin_toolbar_tools'); $config = \Drupal::config('admin_toolbar_search.settings'); $display_menu_item = $config->get('display_menu_item'); $admin_toolbar_search_settings = \Drupal::config('admin_toolbar_search.settings'); $display_menu_item = $admin_toolbar_search_settings->get('display_menu_item'); // Admin Toolbar Search field labels. $search_field_title = t('Search'); $search_field_placeholder = t('Admin Toolbar quick search'); $search_field_title_attribute = t('Keyboard shortcut: Alt + a'); if (!$display_menu_item) { // The search field is displayed directly in the Toolbar. $items['administration_mobile_search'] = [ '#type' => 'toolbar_item', '#weight' => 100, 'tab' => [ '#type' => 'link', '#title' => new TranslatableMarkup('Search'), '#title' => $search_field_title, '#url' => Url::fromRoute('system.admin'), '#attributes' => [ 'class' => [ Loading @@ -61,13 +65,13 @@ function admin_toolbar_search_toolbar_alter(&$items) { '#weight' => 101, 'tab' => [ 'search' => [ '#title' => t('Search'), '#title' => $search_field_title, '#title_display' => 'invisible', '#type' => 'search', '#size' => 30, '#attributes' => [ 'placeholder' => new TranslatableMarkup('Admin Toolbar quick search'), 'accesskey' => ('a'), 'placeholder' => $search_field_placeholder, 'title' => $search_field_title_attribute, ], '#id' => 'admin-toolbar-search-input', ], Loading Loading @@ -96,11 +100,12 @@ function admin_toolbar_search_toolbar_alter(&$items) { ]; } else { // The search field is displayed in a specific Tray under the Search Tab. $items['administration_search'] = [ "#type" => "toolbar_item", 'tab' => [ '#type' => 'link', '#title' => new TranslatableMarkup('Search'), '#title' => $search_field_title, '#url' => URL::fromRoute('system.admin'), '#attributes' => [ 'class' => [ Loading @@ -110,10 +115,14 @@ function admin_toolbar_search_toolbar_alter(&$items) { ], 'tray' => [ 'search' => [ '#title' => t('Search'), '#title' => $search_field_title, '#type' => 'search', '#size' => 60, '#id' => 'admin-toolbar-search-input', '#attributes' => [ 'placeholder' => $search_field_placeholder, 'title' => $search_field_title_attribute, ], ], ], '#attached' => [ Loading @@ -140,4 +149,12 @@ function admin_toolbar_search_toolbar_alter(&$items) { ]; } // Add the keyboard shortcut library if enabled. if ($admin_toolbar_search_settings->get('enable_keyboard_shortcut')) { $items['administration_search']['#attached']['library'][] = 'admin_toolbar_search/search.keyboard_shortcut'; // The display menu item setting is used to determine if the search input // should be displayed as a menu item or directly in the toolbar. $items['administration_search']['#attached']['drupalSettings']['adminToolbarSearch']['displayMenuItem'] = $display_menu_item; } } admin_toolbar_search/config/install/admin_toolbar_search.settings.yml +2 −1 Original line number Diff line number Diff line display_menu_item: 0 display_menu_item: false enable_keyboard_shortcut: true Loading
admin_toolbar_search/README.md 0 → 100644 +32 −0 Original line number Diff line number Diff line # Admin Toolbar Search Admin Toolbar Search provides a search field for administration pages. Use the shortcut `Alt` + `a` for quick access. For a full description of the module, visit the [project page](https://www.drupal.org/project/admin_toolbar). Submit bug reports and feature suggestions, or track changes in the [issue queue](https://www.drupal.org/project/issues/search/admin_toolbar). ## Table of contents - Requirements - Installation - Configuration ## Requirements This module requires the following modules: - [Admin Toolbar](https://www.drupal.org/project/admin_toolbar) ## Installation Install as you would normally install a contributed Drupal module. For further information, see [Installing Drupal Modules](https://www.drupal.org/docs/extending-drupal/installing-drupal-modules). ## Configuration No configuration is needed.
admin_toolbar_search/admin_toolbar_search.install 0 → 100644 +27 −0 Original line number Diff line number Diff line <?php /** * @file * Install, update and uninstall functions for the Admin Toolbar Search module. */ /** * Update settings: 'display_menu_item' and 'enable_keyboard_shortcut'. */ function admin_toolbar_search_update_8001() { // Convert the 'display_menu_item' setting from integer to boolean and enable // the 'enable_keyboard_shortcut' setting by default. /** @var \Drupal\Core\Config\Config $admin_toolbar_search_config */ $admin_toolbar_search_config = \Drupal::service('config.factory') ->getEditable('admin_toolbar_search.settings'); // Get the current value of 'display_menu_item' setting, which is an integer. $display_menu_item = $admin_toolbar_search_config->get('display_menu_item'); // Update the configuration settings. $admin_toolbar_search_config // Convert the existing field value from an integer to a boolean. ->set('display_menu_item', (bool) $display_menu_item) // Enable the keyboard shortcut by default. ->set('enable_keyboard_shortcut', TRUE) ->save(TRUE); }
admin_toolbar_search/admin_toolbar_search.libraries.yml +6 −0 Original line number Diff line number Diff line Loading @@ -9,3 +9,9 @@ search: - core/drupal - core/once - core/drupal.autocomplete search.keyboard_shortcut: js: js/admin_toolbar_search.keyboard_shortcut.js: {} dependencies: - admin_toolbar_search/search
admin_toolbar_search/admin_toolbar_search.module +26 −9 Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ */ use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Url; /** Loading Loading @@ -34,16 +33,21 @@ function admin_toolbar_search_toolbar_alter(&$items) { $admin_toolbar_tools_enabled = \Drupal::service('module_handler') ->moduleExists('admin_toolbar_tools'); $config = \Drupal::config('admin_toolbar_search.settings'); $display_menu_item = $config->get('display_menu_item'); $admin_toolbar_search_settings = \Drupal::config('admin_toolbar_search.settings'); $display_menu_item = $admin_toolbar_search_settings->get('display_menu_item'); // Admin Toolbar Search field labels. $search_field_title = t('Search'); $search_field_placeholder = t('Admin Toolbar quick search'); $search_field_title_attribute = t('Keyboard shortcut: Alt + a'); if (!$display_menu_item) { // The search field is displayed directly in the Toolbar. $items['administration_mobile_search'] = [ '#type' => 'toolbar_item', '#weight' => 100, 'tab' => [ '#type' => 'link', '#title' => new TranslatableMarkup('Search'), '#title' => $search_field_title, '#url' => Url::fromRoute('system.admin'), '#attributes' => [ 'class' => [ Loading @@ -61,13 +65,13 @@ function admin_toolbar_search_toolbar_alter(&$items) { '#weight' => 101, 'tab' => [ 'search' => [ '#title' => t('Search'), '#title' => $search_field_title, '#title_display' => 'invisible', '#type' => 'search', '#size' => 30, '#attributes' => [ 'placeholder' => new TranslatableMarkup('Admin Toolbar quick search'), 'accesskey' => ('a'), 'placeholder' => $search_field_placeholder, 'title' => $search_field_title_attribute, ], '#id' => 'admin-toolbar-search-input', ], Loading Loading @@ -96,11 +100,12 @@ function admin_toolbar_search_toolbar_alter(&$items) { ]; } else { // The search field is displayed in a specific Tray under the Search Tab. $items['administration_search'] = [ "#type" => "toolbar_item", 'tab' => [ '#type' => 'link', '#title' => new TranslatableMarkup('Search'), '#title' => $search_field_title, '#url' => URL::fromRoute('system.admin'), '#attributes' => [ 'class' => [ Loading @@ -110,10 +115,14 @@ function admin_toolbar_search_toolbar_alter(&$items) { ], 'tray' => [ 'search' => [ '#title' => t('Search'), '#title' => $search_field_title, '#type' => 'search', '#size' => 60, '#id' => 'admin-toolbar-search-input', '#attributes' => [ 'placeholder' => $search_field_placeholder, 'title' => $search_field_title_attribute, ], ], ], '#attached' => [ Loading @@ -140,4 +149,12 @@ function admin_toolbar_search_toolbar_alter(&$items) { ]; } // Add the keyboard shortcut library if enabled. if ($admin_toolbar_search_settings->get('enable_keyboard_shortcut')) { $items['administration_search']['#attached']['library'][] = 'admin_toolbar_search/search.keyboard_shortcut'; // The display menu item setting is used to determine if the search input // should be displayed as a menu item or directly in the toolbar. $items['administration_search']['#attached']['drupalSettings']['adminToolbarSearch']['displayMenuItem'] = $display_menu_item; } }
admin_toolbar_search/config/install/admin_toolbar_search.settings.yml +2 −1 Original line number Diff line number Diff line display_menu_item: 0 display_menu_item: false enable_keyboard_shortcut: true