Loading admin_toolbar.libraries.yml +11 −0 Original line number Diff line number Diff line Loading @@ -21,7 +21,18 @@ toolbar.tree.hover: dependencies: - admin_toolbar/toolbar.tree # Disable toolbar sticky behavior. toolbar.disable_sticky: css: theme: css/admin_toolbar.disable_sticky.css: {} # Enable toolbar custom sticky behavior. toolbar.sticky_behavior: css: theme: css/admin_toolbar.sticky_behavior.css: {} js: js/admin_toolbar.sticky_behavior.js: {} dependencies: - admin_toolbar/toolbar.tree admin_toolbar.module +15 −3 Original line number Diff line number Diff line Loading @@ -19,10 +19,22 @@ function admin_toolbar_toolbar_alter(&$items) { ]; $admin_toolbar_config = \Drupal::config('admin_toolbar.settings'); $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.tree'; $disable_sticky = $admin_toolbar_config->get('disable_sticky'); if ($disable_sticky === TRUE) { // Add sticky behavior libraries based on the configuration. $sticky_behavior = $admin_toolbar_config->get('sticky_behavior') ?? 'enabled'; switch ($sticky_behavior) { case 'disabled': $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.disable_sticky'; break; case 'hide_on_scroll_down': $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.sticky_behavior'; break; default: break; } $enable_hoverintent = $admin_toolbar_config->get('enable_hoverintent'); if ($enable_hoverintent === TRUE) { // Use the hoverIntent plugin library. Loading config/install/admin_toolbar.settings.yml +1 −1 Original line number Diff line number Diff line menu_depth: 4 enable_hoverintent: true disable_sticky: false sticky_behavior: 'enabled' config/schema/admin_toolbar.schema.yml +7 −3 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ admin_toolbar.settings: enable_hoverintent: type: boolean label: 'Enable HoverIntent' disable_sticky: type: boolean label: 'Disable sticky toolbar' sticky_behavior: type: string label: 'Sticky toolbar behavior' options: enabled: 'Enabled' disabled: 'Disabled' hide_on_scroll_down: 'Disabled: Hide on scroll-down, show on scroll-up' css/admin_toolbar.sticky_behavior.css 0 → 100644 +13 −0 Original line number Diff line number Diff line /* Admin Toolbar default visible state. */ .toolbar-horizontal .toolbar-oriented .toolbar-bar { /* Show toolbar: simple slide down animation with a transform property. */ transition: all 300ms ease-in-out; transform: translateY(0); } /* Admin Toolbar's sticky behavior to hide on scroll-down. */ body.toolbar-horizontal.sticky-toolbar-hidden .toolbar-oriented .toolbar-bar { /* Hide toolbar: slide up when scrolling down. */ transition: all 200ms ease-out; transform: translateY(-220%); } Loading
admin_toolbar.libraries.yml +11 −0 Original line number Diff line number Diff line Loading @@ -21,7 +21,18 @@ toolbar.tree.hover: dependencies: - admin_toolbar/toolbar.tree # Disable toolbar sticky behavior. toolbar.disable_sticky: css: theme: css/admin_toolbar.disable_sticky.css: {} # Enable toolbar custom sticky behavior. toolbar.sticky_behavior: css: theme: css/admin_toolbar.sticky_behavior.css: {} js: js/admin_toolbar.sticky_behavior.js: {} dependencies: - admin_toolbar/toolbar.tree
admin_toolbar.module +15 −3 Original line number Diff line number Diff line Loading @@ -19,10 +19,22 @@ function admin_toolbar_toolbar_alter(&$items) { ]; $admin_toolbar_config = \Drupal::config('admin_toolbar.settings'); $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.tree'; $disable_sticky = $admin_toolbar_config->get('disable_sticky'); if ($disable_sticky === TRUE) { // Add sticky behavior libraries based on the configuration. $sticky_behavior = $admin_toolbar_config->get('sticky_behavior') ?? 'enabled'; switch ($sticky_behavior) { case 'disabled': $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.disable_sticky'; break; case 'hide_on_scroll_down': $items['administration']['#attached']['library'][] = 'admin_toolbar/toolbar.sticky_behavior'; break; default: break; } $enable_hoverintent = $admin_toolbar_config->get('enable_hoverintent'); if ($enable_hoverintent === TRUE) { // Use the hoverIntent plugin library. Loading
config/install/admin_toolbar.settings.yml +1 −1 Original line number Diff line number Diff line menu_depth: 4 enable_hoverintent: true disable_sticky: false sticky_behavior: 'enabled'
config/schema/admin_toolbar.schema.yml +7 −3 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ admin_toolbar.settings: enable_hoverintent: type: boolean label: 'Enable HoverIntent' disable_sticky: type: boolean label: 'Disable sticky toolbar' sticky_behavior: type: string label: 'Sticky toolbar behavior' options: enabled: 'Enabled' disabled: 'Disabled' hide_on_scroll_down: 'Disabled: Hide on scroll-down, show on scroll-up'
css/admin_toolbar.sticky_behavior.css 0 → 100644 +13 −0 Original line number Diff line number Diff line /* Admin Toolbar default visible state. */ .toolbar-horizontal .toolbar-oriented .toolbar-bar { /* Show toolbar: simple slide down animation with a transform property. */ transition: all 300ms ease-in-out; transform: translateY(0); } /* Admin Toolbar's sticky behavior to hide on scroll-down. */ body.toolbar-horizontal.sticky-toolbar-hidden .toolbar-oriented .toolbar-bar { /* Hide toolbar: slide up when scrolling down. */ transition: all 200ms ease-out; transform: translateY(-220%); }