diff --git a/core/modules/outside_in/css/outside_in.theme.css b/core/modules/outside_in/css/outside_in.theme.css index 93045b7..7207c60 100644 --- a/core/modules/outside_in/css/outside_in.theme.css +++ b/core/modules/outside_in/css/outside_in.theme.css @@ -95,23 +95,37 @@ button.toolbar-icon.toolbar-icon-edit.toolbar-item:hover > .toolbar-icon-edit:be .ui-dialog-offcanvas { border: 0 solid #ddd; border-left-width: 1px; /* LTR */ - box-shadow: -2px 2px 1px 1px rgba(0, 0, 0, 0.1); /* LTR */ - font-size: 1em; + border-radius: 0; + font-size: 14px; font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif; + overflow: scroll; + padding: 0; } [dir="rtl"] .ui-dialog-offcanvas { border-left-width: 0; border-right-width: 1px; - box-shadow: 2px 2px 1px 1px rgba(0, 0, 0, 0.1); } /* Style the tray header. */ .ui-dialog-offcanvas .ui-dialog-title { font-size: 120%; + padding-left: 1.5em; +} +.ui-dialog-offcanvas .ui-dialog-title:before { + background: transparent url(../../../misc/icons/ffffff/pencil.svg) no-repeat scroll center center; + background-size: 100% auto; + content: ''; + display: block; + height: 100%; + left: 0.6667em; + position: absolute; + top: 0; + width: 20px; } .ui-dialog-offcanvas .ui-dialog-titlebar { background: #2d2d2d; + border-radius: 0; color: #ddd; } .ui-dialog-offcanvas .ui-dialog-content { @@ -152,13 +166,15 @@ button.toolbar-icon.toolbar-icon-edit.toolbar-item:hover > .toolbar-icon-edit:be border-bottom: none; } -.ui-dialog-offcanvas .block-admin-label { - border-color: #a8a8a8; - border-style: solid; - border-width: 1px 0; - font-size: 120%; - margin: 1em 0; - padding: 0.5em 0; +.ui-dialog-offcanvas table { + border: 0; + border-collapse: collapse; + font-size: 0.857em; +} +.ui-dialog-offcanvas tr th, +.ui-dialog-offcanvas tr td { + padding: 4px 9px; + text-align: left; } .ui-dialog-offcanvas #menu-overview { @@ -169,13 +185,30 @@ button.toolbar-icon.toolbar-icon-edit.toolbar-item:hover > .toolbar-icon-edit:be .ui-dialog-offcanvas #menu-overview tr, .ui-dialog-offcanvas #menu-overview td, .ui-dialog-offcanvas #menu-overview th { - border-color: #a8a8a8; - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; + border: 0 solid #a8a8a8; + border-bottom-width: 1px; background: none; } +.ui-dialog-offcanvas button.link { + background: transparent; + border: 0; + cursor: pointer; + font-size: 1em; + margin: 0; + padding: 0; +} +.ui-dialog-offcanvas .button { + border-radius: 1em; +} +.ui-dialog-offcanvas input { + box-sizing: border-box; + max-width: 100%; +} +.ui-dialog-offcanvas .form-item { + margin-bottom: 1em; + margin-top: 1em; +} .ui-dialog-offcanvas .form-actions { text-align: center; } diff --git a/core/modules/outside_in/outside_in.routing.yml b/core/modules/outside_in/outside_in.routing.yml index 5c81541..79bc38d 100644 --- a/core/modules/outside_in/outside_in.routing.yml +++ b/core/modules/outside_in/outside_in.routing.yml @@ -2,6 +2,6 @@ entity.block.offcanvas_form: path: '/admin/structure/block/manage/{block}/offcanvas' defaults: _entity_form: 'block.offcanvas' - _title: 'Configure block' + _title_callback: '\Drupal\outside_in\Block\BlockEntityOffCanvasForm::title' requirements: _permission: 'administer blocks' diff --git a/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php b/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php index ad22961..a77f51f 100644 --- a/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php +++ b/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php @@ -3,7 +3,7 @@ namespace Drupal\outside_in\Block; use Drupal\block\BlockForm; -use Drupal\Component\Render\FormattableMarkup; +use Drupal\block\BlockInterface; use Drupal\Core\Block\BlockPluginInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\PluginWithFormsInterface; @@ -17,6 +17,21 @@ class BlockEntityOffCanvasForm extends BlockForm { /** + * Provides a title callback to get the block's admin label. + * + * @param \Drupal\block\BlockInterface $block + * The block entity. + * + * @return \Drupal\Core\StringTranslation\TranslatableMarkup + * The title. + */ + public function title(BlockInterface $block) { + // @todo Wrap "Configure " in once + // https://www.drupal.org/node/2359901 is fixed. + return $this->t('Configure @block', ['@block' => $block->getPlugin()->getPluginDefinition()['admin_label']]); + } + + /** * {@inheritdoc} */ public function form(array $form, FormStateInterface $form_state) { @@ -33,14 +48,6 @@ public function form(array $form, FormStateInterface $form_state) { '#url' => $this->entity->toUrl('edit-form', ['query' => $query]), '#weight' => 1000, ]; - $form['admin_label'] = [ - '#type' => 'container', - '#attributes' => [ - 'class' => ['block-admin-label'], - ], - '#markup' => new FormattableMarkup('@block block', ['@block' => $this->entity->getPlugin()->getPluginDefinition()['admin_label']]), - '#weight' => 1500, - ]; // Remove the ID and region elements. unset($form['id'], $form['region'], $form['settings']['admin_label']); @@ -53,6 +60,7 @@ public function form(array $form, FormStateInterface $form_state) { */ protected function actions(array $form, FormStateInterface $form_state) { $actions = parent::actions($form, $form_state); + $actions['submit']['#value'] = $this->t('Save @block', ['@block' => $this->entity->getPlugin()->getPluginDefinition()['admin_label']]); $actions['delete']['#access'] = FALSE; return $actions; }