Update core 8.3.0
|
@ -45,14 +45,14 @@ function bartik_preprocess_page_title(&$variables) {
|
|||
if (!empty($variables['title_suffix']['add_or_remove_shortcut']) && $variables['title']) {
|
||||
// Add a wrapper div using the title_prefix and title_suffix render
|
||||
// elements.
|
||||
$variables['title_prefix']['shortcut_wrapper'] = array(
|
||||
$variables['title_prefix']['shortcut_wrapper'] = [
|
||||
'#markup' => '<div class="shortcut-wrapper clearfix">',
|
||||
'#weight' => 100,
|
||||
);
|
||||
$variables['title_suffix']['shortcut_wrapper'] = array(
|
||||
];
|
||||
$variables['title_suffix']['shortcut_wrapper'] = [
|
||||
'#markup' => '</div>',
|
||||
'#weight' => -99,
|
||||
);
|
||||
];
|
||||
// Make sure the shortcut link is the first item in title_suffix.
|
||||
$variables['title_suffix']['add_or_remove_shortcut']['#weight'] = -100;
|
||||
}
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
* Lists available colors and color schemes for the Bartik theme.
|
||||
*/
|
||||
|
||||
$info = array(
|
||||
$info = [
|
||||
// Available colors and color labels used in theme.
|
||||
'fields' => array(
|
||||
'fields' => [
|
||||
'top' => t('Header background top'),
|
||||
'bottom' => t('Header background bottom'),
|
||||
'bg' => t('Main background'),
|
||||
|
@ -17,12 +17,12 @@ $info = array(
|
|||
'titleslogan' => t('Title and slogan'),
|
||||
'text' => t('Text color'),
|
||||
'link' => t('Link color'),
|
||||
),
|
||||
],
|
||||
// Pre-defined color schemes.
|
||||
'schemes' => array(
|
||||
'default' => array(
|
||||
'schemes' => [
|
||||
'default' => [
|
||||
'title' => t('Blue Lagoon (default)'),
|
||||
'colors' => array(
|
||||
'colors' => [
|
||||
'top' => '#055a8e',
|
||||
'bottom' => '#1d84c3',
|
||||
'bg' => '#ffffff',
|
||||
|
@ -32,11 +32,11 @@ $info = array(
|
|||
'titleslogan' => '#fffeff',
|
||||
'text' => '#3b3b3b',
|
||||
'link' => '#0071B3',
|
||||
),
|
||||
),
|
||||
'firehouse' => array(
|
||||
],
|
||||
],
|
||||
'firehouse' => [
|
||||
'title' => t('Firehouse'),
|
||||
'colors' => array(
|
||||
'colors' => [
|
||||
'top' => '#cd2d2d',
|
||||
'bottom' => '#d64e4e',
|
||||
'bg' => '#ffffff',
|
||||
|
@ -46,11 +46,11 @@ $info = array(
|
|||
'titleslogan' => '#fffeff',
|
||||
'text' => '#888888',
|
||||
'link' => '#d6121f',
|
||||
),
|
||||
),
|
||||
'ice' => array(
|
||||
],
|
||||
],
|
||||
'ice' => [
|
||||
'title' => t('Ice'),
|
||||
'colors' => array(
|
||||
'colors' => [
|
||||
'top' => '#d0d0d0',
|
||||
'bottom' => '#c2c4c5',
|
||||
'bg' => '#ffffff',
|
||||
|
@ -60,11 +60,11 @@ $info = array(
|
|||
'titleslogan' => '#000000',
|
||||
'text' => '#4a4a4a',
|
||||
'link' => '#019dbf',
|
||||
),
|
||||
),
|
||||
'plum' => array(
|
||||
],
|
||||
],
|
||||
'plum' => [
|
||||
'title' => t('Plum'),
|
||||
'colors' => array(
|
||||
'colors' => [
|
||||
'top' => '#4c1c58',
|
||||
'bottom' => '#593662',
|
||||
'bg' => '#fffdf7',
|
||||
|
@ -74,11 +74,11 @@ $info = array(
|
|||
'titleslogan' => '#ffffff',
|
||||
'text' => '#301313',
|
||||
'link' => '#9d408d',
|
||||
),
|
||||
),
|
||||
'slate' => array(
|
||||
],
|
||||
],
|
||||
'slate' => [
|
||||
'title' => t('Slate'),
|
||||
'colors' => array(
|
||||
'colors' => [
|
||||
'top' => '#4a4a4a',
|
||||
'bottom' => '#4e4e4e',
|
||||
'bg' => '#ffffff',
|
||||
|
@ -88,31 +88,31 @@ $info = array(
|
|||
'titleslogan' => '#ffffff',
|
||||
'text' => '#3b3b3b',
|
||||
'link' => '#0073b6',
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
// CSS files (excluding @import) to rewrite with new color scheme.
|
||||
'css' => array(
|
||||
'css' => [
|
||||
'css/colors.css',
|
||||
),
|
||||
],
|
||||
|
||||
// Files to copy.
|
||||
'copy' => array(
|
||||
'copy' => [
|
||||
'logo.svg',
|
||||
),
|
||||
],
|
||||
|
||||
// Gradient definitions.
|
||||
'gradients' => array(
|
||||
array(
|
||||
'gradients' => [
|
||||
[
|
||||
// (x, y, width, height).
|
||||
'dimension' => array(0, 0, 0, 0),
|
||||
'dimension' => [0, 0, 0, 0],
|
||||
// Direction of gradient ('vertical' or 'horizontal').
|
||||
'direction' => 'vertical',
|
||||
// Keys of colors to use for the gradient.
|
||||
'colors' => array('top', 'bottom'),
|
||||
),
|
||||
),
|
||||
'colors' => ['top', 'bottom'],
|
||||
],
|
||||
],
|
||||
|
||||
// Preview files.
|
||||
'preview_library' => 'bartik/color.preview',
|
||||
|
@ -127,4 +127,4 @@ $info = array(
|
|||
],
|
||||
],
|
||||
],
|
||||
);
|
||||
];
|
||||
|
|
|
@ -8,10 +8,11 @@ To use Classy as your base theme, set the 'base theme' in your theme's .info.yml
|
|||
file to "classy":
|
||||
base theme: classy
|
||||
|
||||
See https://www.drupal.org/theme-guide/8/classy for more information on using
|
||||
the Classy theme.
|
||||
See https://www.drupal.org/docs/8/theming-drupal-8/using-classy-as-a-base-theme
|
||||
for more information on using the Classy theme.
|
||||
|
||||
ABOUT DRUPAL THEMING
|
||||
--------------------
|
||||
|
||||
See https://www.drupal.org/theme-guide/8 for more information on Drupal theming.
|
||||
See https://www.drupal.org/docs/8/theming for more information on Drupal
|
||||
theming.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: Classy
|
||||
type: theme
|
||||
description: 'A base theme with sensible default CSS classes added. Learn how to use Classy as a base theme in the <a href="https://www.drupal.org/theme-guide/8">Drupal 8 Theming Guide</a>.'
|
||||
description: 'A base theme with sensible default CSS classes added. Learn how to use Classy as a base theme in the <a href="https://www.drupal.org/docs/8/theming">Drupal 8 Theming Guide</a>.'
|
||||
package: Core
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
|
|
|
@ -56,6 +56,12 @@ forum:
|
|||
component:
|
||||
css/components/forum.css: { weight: -10 }
|
||||
|
||||
image-widget:
|
||||
version: VERSION
|
||||
css:
|
||||
component:
|
||||
css/components/image-widget.css: {}
|
||||
|
||||
indented:
|
||||
version: VERSION
|
||||
css:
|
||||
|
|
|
@ -1,7 +1,19 @@
|
|||
|
||||
/**
|
||||
* @file
|
||||
* Image upload widget.
|
||||
*
|
||||
* This CSS file is not used in this theme (Classy). It was intended to be used,
|
||||
* but due to a bug, Drupal 8 shipped with it not being used. To not break
|
||||
* backwards compatibility, we continue to not load it in Classy. Every
|
||||
* subtheme of Classy is encouraged to use it, by attaching the
|
||||
* classy/image-widget asset library in their image-widget.html.twig file.
|
||||
*
|
||||
* @see core/themes/seven/templates/content-edit/image-widget.html.twig.
|
||||
*
|
||||
* @todo In Drupal 9, let core/themes/classy/templates/content-edit/image-widget.html.twig
|
||||
* attach the classy/image-widget asset library.
|
||||
*/
|
||||
|
||||
.image-preview {
|
||||
float: left; /* LTR */
|
||||
padding: 0 10px 10px 0; /* LTR */
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
* @see template_preprocess_image_widget()
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('classy/image-widget') }}
|
||||
<div{{ attributes }}>
|
||||
{% if data.preview %}
|
||||
<div class="image-preview">
|
||||
|
|
|
@ -30,5 +30,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
{% if description %}
|
||||
<div class="description">{{ description }}</div>
|
||||
<div{{ description_attributes.addClass('description') }}>
|
||||
{{ description }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
* @see template_preprocess_views_view_opml()
|
||||
*/
|
||||
#}
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<opml version="2.0">
|
||||
<head>
|
||||
<title>{{ title }}</title>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* @see template_preprocess_views_view_rss()
|
||||
*/
|
||||
#}
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xml:base="{{ link }}"{{ namespaces }}>
|
||||
<channel>
|
||||
<title>{{ title }}</title>
|
||||
|
|
|
@ -13,7 +13,7 @@ use Drupal\Core\Extension\Extension;
|
|||
* Implements hook_theme().
|
||||
*/
|
||||
function twig_theme($existing, $type, $theme, $path) {
|
||||
$templates = drupal_find_theme_functions($existing, array($theme));
|
||||
$templates = drupal_find_theme_functions($existing, [$theme]);
|
||||
$templates += drupal_find_theme_templates($existing, '.html.twig', $path);
|
||||
return $templates;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/**
|
||||
* @file
|
||||
* Styles for the system status counter component.
|
||||
*/
|
||||
|
||||
.system-status-counter {
|
||||
box-sizing: border-box;
|
||||
overflow-y: hidden;
|
||||
border: 1px solid #e6e4df;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
background: #FCFCFA;
|
||||
}
|
||||
.system-status-counter__status-icon {
|
||||
display: inline-block;
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
vertical-align: middle;
|
||||
border-right: 1px solid #e6e4df; /* LTR */
|
||||
border-left: 0; /* LTR */
|
||||
background-color: #faf9f5;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .1) inset;
|
||||
}
|
||||
[dir="rtl"] .system-status-counter__status-icon {
|
||||
border-right: 0;
|
||||
border-left: 1px solid #e6e4df;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .1) inset;
|
||||
}
|
||||
.system-status-counter__status-icon:before {
|
||||
content: "";
|
||||
background-size: 25px;
|
||||
background-position: 50% center;
|
||||
background-repeat: no-repeat;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.system-status-counter__status-icon--error:before {
|
||||
background-image: url(../../../stable/images/core/icons/e32700/error.svg);
|
||||
}
|
||||
.system-status-counter__status-icon--warning:before {
|
||||
background-image: url(../../../stable/images/core/icons/e29700/warning.svg);
|
||||
}
|
||||
.system-status-counter__status-icon--checked:before {
|
||||
background-image: url(../../../stable/images/core/icons/73b355/check.svg);
|
||||
}
|
||||
|
||||
.system-status-counter__status-title {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
text-transform: uppercase;
|
||||
padding: 0 6px;
|
||||
font-size: 1rem;
|
||||
line-height: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.system-status-counter__title-count {
|
||||
display: block;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
.system-status-counter__details {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
display: block;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 61em) {
|
||||
.system-status-counter__status-icon,
|
||||
.system-status-counter {
|
||||
height: 65px;
|
||||
}
|
||||
.system-status-counter__status-icon {
|
||||
width: 65px;
|
||||
}
|
||||
.system-status-counter__status-title {
|
||||
font-size: 16px;
|
||||
padding: 10px 3%;
|
||||
}
|
||||
.system-status-counter__status-icon:before {
|
||||
background-size: 35px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/**
|
||||
* @file
|
||||
* Styles for the system status report counters.
|
||||
*/
|
||||
|
||||
.system-status-report-counters__item {
|
||||
margin: 10px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 60em) {
|
||||
.system-status-report-counters__item {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.system-status-report-counters {
|
||||
flex-wrap: wrap;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.system-status-report-counters__item--half-width {
|
||||
width: 49%;
|
||||
}
|
||||
.system-status-report-counters__item--third-width {
|
||||
width: 32%;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,161 @@
|
|||
/**
|
||||
* @file
|
||||
* Seven styles for the System Status general info.
|
||||
*/
|
||||
|
||||
.system-status-general-info {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.system-status-general-info__header {
|
||||
background-color: #f5f5f2;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
font-size: 14px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.system-status-general-info__item {
|
||||
background: #fcfcfa;
|
||||
border-top: 1px solid #ccc;
|
||||
padding: 10px 10px 20px;
|
||||
box-sizing: border-box;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.system-status-general-info__item-icon {
|
||||
display: inline-block;
|
||||
height: 45px;
|
||||
width: 45px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.system-status-general-info__item-icon:before {
|
||||
content: "";
|
||||
background-size: 35px;
|
||||
background-position: 50% center;
|
||||
background-repeat: no-repeat;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
.system-status-general-info__item-icon--d8:before {
|
||||
background-image: url(../../images/icons/cccccc/d8-logo.svg);
|
||||
}
|
||||
.system-status-general-info__item-icon--clock:before {
|
||||
background-image: url(../../images/icons/cccccc/clock.svg);
|
||||
}
|
||||
.system-status-general-info__item-icon--server:before {
|
||||
background-image: url(../../images/icons/cccccc/server.svg);
|
||||
}
|
||||
.system-status-general-info__item-icon--php:before {
|
||||
background-image: url(../../images/icons/cccccc/php-logo.svg);
|
||||
background-size: 45px;
|
||||
}
|
||||
.system-status-general-info__item-icon--database:before {
|
||||
background-image: url(../../images/icons/cccccc/database.svg);
|
||||
background-size: 30px;
|
||||
}
|
||||
|
||||
.system-status-general-info__item-details {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
width: calc(100% - 60px);
|
||||
padding-left: 10px; /* LTR */
|
||||
position: relative;
|
||||
}
|
||||
[dir="rtl"] .system-status-general-info__item-details {
|
||||
padding-right: 10px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.system-status-general-info__item-title {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.system-status-general-info__sub-item-title {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.system-status-general-info__sub-item__title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.system-status-general-info__sub-item__value {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.system-status-general-info__run-cron {
|
||||
margin: 1em 0 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 48em) {
|
||||
.system-status-general-info__items {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.system-status-general-info__item {
|
||||
flex: 1;
|
||||
flex-basis: 33%;
|
||||
width: 33%;
|
||||
}
|
||||
.system-status-general-info__item:nth-child(2) {
|
||||
flex: 2;
|
||||
flex-basis: 66%;
|
||||
}
|
||||
.system-status-general-info__item:nth-child(2),
|
||||
.system-status-general-info__item:nth-child(4),
|
||||
.system-status-general-info__item:nth-child(5) {
|
||||
border-left: 1px solid #ccc; /* LTR */
|
||||
}
|
||||
[dir="rtl"] .system-status-general-info__item:nth-child(1),
|
||||
[dir="rtl"] .system-status-general-info__item:nth-child(3) {
|
||||
border-left: 1px solid #ccc;
|
||||
}
|
||||
[dir="rtl"] .system-status-general-info__item:nth-child(2),
|
||||
[dir="rtl"] .system-status-general-info__item:nth-child(5) {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.system-status-general-info__run-cron {
|
||||
margin: 15px 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 60em) {
|
||||
.system-status-general-info__item-icon {
|
||||
width: 55px;
|
||||
height: 55px;
|
||||
}
|
||||
.system-status-general-info__item-icon:before {
|
||||
background-size: 35px;
|
||||
}
|
||||
.system-status-general-info__item-icon--php:before {
|
||||
background-size: 55px;
|
||||
}
|
||||
|
||||
.system-status-general-info__run-cron {
|
||||
position: absolute;
|
||||
top: 1em;
|
||||
right: 1em; /* LTR */
|
||||
margin-top: 0;
|
||||
}
|
||||
[dir="rtl"] .system-status-general-info__run-cron {
|
||||
left: 1em;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 48em) {
|
||||
.system-status-general-info__header {
|
||||
display: none;
|
||||
}
|
||||
.system-status-general-info {
|
||||
border-top: 0;
|
||||
margin-top: 25px;
|
||||
}
|
||||
}
|
|
@ -3,13 +3,151 @@
|
|||
* Seven styles for the System Status Report.
|
||||
*/
|
||||
|
||||
.system-status-report__requirements-group {
|
||||
padding-top: 20px;
|
||||
}
|
||||
.system-status-report__entry {
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc;
|
||||
border-bottom: inherit;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
.system-status-report__entry:first-child {
|
||||
border-top: 1px solid #bebfb9;
|
||||
}
|
||||
.system-status-report__entry:last-child {
|
||||
.system-status-report__entry:last-of-type {
|
||||
border-bottom: 1px solid #bebfb9;
|
||||
}
|
||||
.system-status-report__entry--error {
|
||||
background-color: transparent;
|
||||
}
|
||||
.system-status-report__entry--warning {
|
||||
background-color: transparent;
|
||||
}
|
||||
/* Account for native and poly-filled details element */
|
||||
.system-status-report__status-title {
|
||||
position: relative;
|
||||
padding: 1em 1em 1em 3em; /* LTR */
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.system-status-report__status-title .details-title {
|
||||
color: inherit;
|
||||
text-transform: none;
|
||||
}
|
||||
html:not(.details) .system-status-report__status-title {
|
||||
padding-left: 0;
|
||||
}
|
||||
.system-status-report__status-title .details-title {
|
||||
padding-left: 3em; /* LTR */
|
||||
}
|
||||
[dir="rtl"] .system-status-report__status-title .details-title {
|
||||
padding-right: 3em;
|
||||
padding-left: 0;
|
||||
}
|
||||
[dir="rtl"].details .system-status-report__status-title {
|
||||
padding: 1em 3em 1em 1em;
|
||||
}
|
||||
.collapse-processed > .system-status-report__status-title:before {
|
||||
float: right; /* LTR */
|
||||
}
|
||||
.system-status-report__status-title::-webkit-details-marker {
|
||||
float: right; /* LTR */
|
||||
}
|
||||
[dir="rtl"] .collapse-processed > .system-status-report__status-title:before {
|
||||
float: left;
|
||||
}
|
||||
[dir="rtl"] .system-status-report__status-title::-webkit-details-marker {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Make poly-filled details and summary elements behave correctly. */
|
||||
.system-status-report summary:first-child ~ * {
|
||||
display: none;
|
||||
}
|
||||
.system-status-report details[open] > *,
|
||||
.system-status-report details > summary:first-child {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.system-status-report__status-title .details-title:before,
|
||||
.details .system-status-report__status-icon:before {
|
||||
content: "";
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
background-position: top center;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
position: absolute;
|
||||
left: 10px; /* LTR */
|
||||
top: 1em;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-right: 10px; /* LTR */
|
||||
}
|
||||
[dir="rtl"] .system-status-report__status-title .details-title:before,
|
||||
[dir="rtl"].details .system-status-report__status-title:before {
|
||||
left: auto;
|
||||
right: 10px;
|
||||
margin-right: 0;
|
||||
}
|
||||
.system-status-report__status-icon--error .details-title:before,
|
||||
.details .system-status-report__status-icon--error:before {
|
||||
background-image: url(../../../stable/images/core/icons/e32700/error.svg);
|
||||
}
|
||||
.system-status-report__status-icon--warning .details-title:before,
|
||||
.details .system-status-report__status-icon--warning:before {
|
||||
background-image: url(../../../stable/images/core/icons/e29700/warning.svg);
|
||||
}
|
||||
|
||||
.system-status-report__entry__value {
|
||||
box-sizing: border-box;
|
||||
padding: 0 1em 1em 3em; /* LTR */
|
||||
}
|
||||
[dir="rtl"] .system-status-report__entry__value {
|
||||
padding-right: 3em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 48em) {
|
||||
.system-status-report {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 48em) {
|
||||
.system-status-report__entry::after {
|
||||
display: table;
|
||||
content: '';
|
||||
clear: both;
|
||||
}
|
||||
.system-status-report__status-title {
|
||||
width: 18rem;
|
||||
float: left; /* LTR */
|
||||
cursor: default;
|
||||
}
|
||||
.system-status-report__status-title:hover,
|
||||
.system-status-report__status-title:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
[dir="rtl"] .system-status-report__status-title {
|
||||
float: right;
|
||||
}
|
||||
.system-status-report__status-title::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
.collapse-processed > .system-status-report__status-title:before {
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
.system-status-report__entry__value {
|
||||
width: calc(100% - 23em);
|
||||
float: right;
|
||||
display: block;
|
||||
padding-left: 0; /* LTR */
|
||||
padding-top: 1em;
|
||||
}
|
||||
[dir="rtl"] .system-status-report__entry__value {
|
||||
padding-left: 0;
|
||||
padding-right: 3em;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,6 @@ tbody tr:hover,
|
|||
tbody tr:focus {
|
||||
background: #f7fcff;
|
||||
}
|
||||
|
||||
/* See colors.css */
|
||||
tbody tr.color-warning:hover,
|
||||
tbody tr.color-warning:focus {
|
||||
|
@ -48,6 +47,7 @@ tbody tr.color-error:hover,
|
|||
tbody tr.color-error:focus {
|
||||
background: #fcf4f2;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
vertical-align: middle;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
* @file
|
||||
* Maintenance theming.
|
||||
*/
|
||||
|
||||
.maintenance-page {
|
||||
background-color: #e0e0d8;
|
||||
background-image: -webkit-radial-gradient(hsl(203, 2%, 90%), hsl(203, 2%, 95%));
|
||||
|
@ -51,7 +52,6 @@
|
|||
.task-list {
|
||||
margin-left: 0; /* LTR */
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
padding-left: 0; /* LTR */
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
@ -142,8 +142,8 @@
|
|||
}
|
||||
.layout-container {
|
||||
margin: 0 auto;
|
||||
max-width: 770px;
|
||||
width: 75%;
|
||||
max-width: 770px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
|
||||
padding: 20px 0 40px 0;
|
||||
|
@ -181,3 +181,21 @@
|
|||
margin: 0.75em 1.9em;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Status report customization for install and update page.
|
||||
*/
|
||||
.system-status-report__status-title {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
.system-status-report__entry__value {
|
||||
float: none;
|
||||
width: 100%;
|
||||
padding-left: 3em; /* LTR */
|
||||
padding-top: 0;
|
||||
}
|
||||
[dir="rtl"] .system-status-report__entry__value {
|
||||
padding-left: 1em;
|
||||
padding-right: 3em;
|
||||
}
|
||||
|
|
3
web/core/themes/seven/images/icons/cccccc/clock.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="42.659" height="46.603" viewBox="0 0 42.659 46.603">
|
||||
<path fill="#CCC" d="M24.15 3.73V0h-8v3.915C6.15 6.13 0 14.717 0 24.978 0 36.92 9.975 46.603 21.918 46.603s20.74-9.682 20.74-21.625c0-10.576-8.507-19.372-18.507-21.25zm7 24.072H17.83V11h5v12.802h8.32v4z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 315 B |
6
web/core/themes/seven/images/icons/cccccc/d8-logo.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="47.411" height="53.531" viewBox="0 0 47.411 53.531">
|
||||
<circle fill="#CCC" cx="22.308" cy="41.593" r="8.449"/>
|
||||
<path fill="#CCC" d="M32.813 31.532c2.503 2.614 4.044 6.156 4.044 10.06 0 4.945-2.47 9.31-6.24 11.94 6.97-2.15 12.733-7.388 15.314-13.73 3.57-8.776.247-15.38-5.33-21.37.17.776.264 1.58.264 2.406 0 5.078-3.405 9.36-8.05 10.694z"/>
|
||||
<circle fill="#CCC" cx="29.735" cy="20.838" r="6.463"/>
|
||||
<path fill="#CCC" d="M11.178 50.96c-2.134-2.53-3.42-5.798-3.42-9.368 0-7.448 5.598-13.584 12.814-14.442-1.238-1.794-1.965-3.968-1.965-6.312 0-6.145 4.982-11.128 11.13-11.128.507 0 1.006.037 1.495.103C27.59 6.67 23.957 3.483 21.09 0 22.553 15.257 7.192 9.713 1.514 23.773c-3.81 9.433-.376 21.095 9.663 27.188z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 769 B |
6
web/core/themes/seven/images/icons/cccccc/database.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="38.847" height="44.262" viewBox="0 0 38.847 44.262">
|
||||
<path fill="#CCC" d="M19.745 0c5.74.123 12.272.953 16.9 4.668 1.865 1.498 2.786 3.91 1.597 6.126-1.255 2.34-4.13 3.733-6.518 4.6-5.63 2.04-12.113 2.38-18.014 1.573-2.92-.4-5.91-1.103-8.58-2.374C2.94 13.553.39 11.788.037 9.19c-.532-3.925 4.23-6.23 7.264-7.3C11.287.482 15.54.037 19.745 0c4.302.092-3.334.03 0 0z"/>
|
||||
<path fill="#CCC" d="M6.76 17.5c3.702 1.427 7.65 1.972 11.6 2.09 4.058.12 8.107-.424 12.023-1.523 4.227-1.186 7.227-3.624 8.463-6.145v5.965c-.076.524-.197 1.028-.384 1.5-.718 1.81-2.594 2.974-4.235 3.848-4.293 2.286-9.5 3.04-14.31 3.083-4.803.043-9.902-.542-14.3-2.575-1.906-.88-3.9-2.02-4.988-3.887-.66-1.135-.626-2.21-.626-3.486v-4.38c1.232 2.64 3.94 4.422 6.757 5.51z"/>
|
||||
<path fill="#CCC" d="M6.76 26.436c3.702 1.428 7.65 1.973 11.6 2.09 4.058.12 8.107-.423 12.023-1.522 4.227-1.186 7.227-3.624 8.463-6.145v5.964c-.076.524-.197 1.028-.384 1.5-.718 1.81-2.594 2.974-4.235 3.848-4.293 2.286-9.5 3.04-14.31 3.083-4.803.043-9.902-.542-14.3-2.575-1.906-.88-3.9-2.02-4.988-3.887-.66-1.135-.626-2.21-.626-3.486v-4.38c1.232 2.64 3.94 4.422 6.757 5.51z"/>
|
||||
<path fill="#CCC" d="M6.76 35.374c3.702 1.428 7.65 1.973 11.6 2.09 4.058.12 8.107-.423 12.023-1.522 4.227-1.186 7.227-3.624 8.463-6.145v5.965c-.076.524-.197 1.028-.384 1.5-.718 1.81-2.594 2.974-4.235 3.848-4.293 2.286-9.5 3.04-14.31 3.083-4.803.043-9.902-.542-14.3-2.575-1.906-.88-3.9-2.02-4.988-3.887-.66-1.134-.626-2.21-.626-3.485v-4.38c1.232 2.64 3.94 4.422 6.757 5.51z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
7
web/core/themes/seven/images/icons/cccccc/php-logo.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="66" height="33.447" viewBox="0 0 66 33.447">
|
||||
<g fill="#CCC">
|
||||
<path d="M49.5 12.255h-2.7l-1.473 7h2.4c1.59 0 2.773-.342 3.55-.94.78-.6 1.304-1.62 1.577-3.023.26-1.345.142-1.975-.357-2.528-.5-.553-1.498-.51-2.996-.51z"/>
|
||||
<path d="M33 0C14.775 0 0 7.488 0 16.724s14.775 16.724 33 16.724 33-7.488 33-16.724S51.225 0 33 0zm-9.328 19.982c-.787.737-1.662 1.376-2.625 1.69-.963.313-2.19.583-3.68.583H13.99l-.935 5H9.11l3.52-18h7.584c2.28 0 3.946.34 4.992 1.537 1.046 1.197 1.36 2.74.944 4.885-.172.884-.462 1.628-.87 2.36-.413.732-.947 1.338-1.608 1.945zm11.51 2.273l1.558-8.124c.177-.91.112-1.29-.196-1.62-.308-.33-.962-.255-1.963-.255h-3.126l-2.016 10h-3.913l3.52-18h3.912l-.935 5h3.486c2.193 0 3.706.124 4.54.888.832.765 1.08 1.99.748 3.703l-1.637 8.41h-3.977zm21.747-6.708c-.173.884-.463 1.692-.872 2.424-.41.734-.944 1.404-1.605 2.01-.787.738-1.662 1.377-2.625 1.69-.963.314-2.19.584-3.68.584h-3.377l-.934 5h-3.944l3.518-18h7.584c2.282 0 3.946.34 4.992 1.537 1.046 1.2 1.36 2.61.943 4.757z"/>
|
||||
<path d="M18.72 12.255h-2.703l-1.473 7h2.4c1.59 0 2.773-.342 3.552-.94.778-.6 1.303-1.62 1.576-3.023.26-1.345.142-1.975-.357-2.528-.5-.553-1.497-.51-2.996-.51z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
3
web/core/themes/seven/images/icons/cccccc/server.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="44" height="34" viewBox="0 0 44 34">
|
||||
<path fill="#CCC" d="M29.98 7.018H7.17c-1.208 0-2.197-.748-2.197-2s.99-2 2.2-2h22.81c1.208 0 2.198.748 2.198 2s-.99 2-2.2 2zM37.61 7c-1.104 0-2-.895-2-2s.896-2 2-2 2 .895 2 2-.894 2-2 2zM0 0v10h44V0H0zM29.98 31.018H7.17c-1.208 0-2.197-.748-2.197-2s.99-2 2.2-2h22.81c1.208 0 2.198.748 2.198 2s-.99 2-2.2 2zM37.61 31c-1.104 0-2-.895-2-2s.896-2 2-2 2 .895 2 2-.894 2-2 2zM0 24v10h44V24H0zM29.98 19.018H7.17c-1.208 0-2.197-.748-2.197-2s.99-2 2.2-2h22.81c1.208 0 2.198.748 2.198 2s-.99 2-2.2 2zM37.61 19c-1.104 0-2-.895-2-2s.896-2 2-2 2 .895 2 2-.894 2-2 2zM0 12v10h44V12H0z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 666 B |
57
web/core/themes/seven/js/responsive-details.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
/**
|
||||
* @file
|
||||
* Provides responsive behaviors to HTML details elements.
|
||||
*/
|
||||
|
||||
(function ($, Drupal) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Initializes the responsive behaviors for details elements.
|
||||
*
|
||||
* @type {Drupal~behavior}
|
||||
*
|
||||
* @prop {Drupal~behaviorAttach} attach
|
||||
* Attaches the responsive behavior to status report specific details elements.
|
||||
*/
|
||||
Drupal.behaviors.responsiveDetails = {
|
||||
attach: function (context) {
|
||||
var $details = $(context).find('details').once('responsive-details');
|
||||
|
||||
if (!$details.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
function detailsToggle(matches) {
|
||||
if (matches) {
|
||||
$details.attr('open', true);
|
||||
$summaries.attr('aria-expanded', true);
|
||||
$summaries.on('click.details-open', false);
|
||||
}
|
||||
else {
|
||||
// If user explicitly opened one, leave it alone.
|
||||
var $notPressed = $details
|
||||
.find('> summary[aria-pressed!=true]')
|
||||
.attr('aria-expanded', false);
|
||||
$notPressed
|
||||
.parent('details')
|
||||
.attr('open', false);
|
||||
// After resize, allow user to close previously opened details.
|
||||
$summaries.off('.details-open');
|
||||
}
|
||||
}
|
||||
|
||||
function handleDetailsMQ(event) {
|
||||
detailsToggle(event.matches);
|
||||
}
|
||||
|
||||
var $summaries = $details.find('> summary');
|
||||
var mql = window.matchMedia('(min-width:48em)');
|
||||
mql.addListener(handleDetailsMQ);
|
||||
detailsToggle(mql.matches);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
})(jQuery, Drupal);
|
|
@ -22,6 +22,12 @@ core: 8.x
|
|||
libraries:
|
||||
- seven/global-styling
|
||||
libraries-override:
|
||||
system/base:
|
||||
css:
|
||||
component:
|
||||
/core/themes/stable/css/system/components/system-status-counter.css: css/components/system-status-counter.css
|
||||
/core/themes/stable/css/system/components/system-status-report-counters.css: css/components/system-status-report-counters.css
|
||||
/core/themes/stable/css/system/components/system-status-report-general-info.css: css/components/system-status-report-general-info.css
|
||||
core/drupal.vertical-tabs:
|
||||
css:
|
||||
component:
|
||||
|
|
|
@ -27,7 +27,10 @@ global-styling:
|
|||
css/components/tables.css: {}
|
||||
css/components/search-admin-settings.css: {}
|
||||
css/components/tablesort-indicator.css: {}
|
||||
css/components/system-status-report-general-info.css: {}
|
||||
css/components/system-status-report.css: {}
|
||||
css/components/system-status-report-counters.css: {}
|
||||
css/components/system-status-counter.css: {}
|
||||
css/components/tabs.css: {}
|
||||
css/components/views-ui.css: {}
|
||||
layout:
|
||||
|
@ -74,6 +77,18 @@ drupal.nav-tabs:
|
|||
- core/drupal
|
||||
- core/jquery.once
|
||||
- core/drupal.debounce
|
||||
- core/collapse
|
||||
|
||||
drupal.responsive-detail:
|
||||
version: VERSION
|
||||
js:
|
||||
js/responsive-details.js: {}
|
||||
dependencies:
|
||||
- core/matchmedia
|
||||
- core/matchmedia.addListener
|
||||
- core/jquery
|
||||
- core/jquery.once
|
||||
- core/collapse
|
||||
|
||||
vertical-tabs:
|
||||
version: VERSION
|
||||
|
|
|
@ -31,18 +31,18 @@ function seven_preprocess_html(&$variables) {
|
|||
*/
|
||||
function seven_preprocess_menu_local_tasks(&$variables) {
|
||||
if (!empty($variables['primary'])) {
|
||||
$variables['primary']['#attached'] = array(
|
||||
'library' => array(
|
||||
$variables['primary']['#attached'] = [
|
||||
'library' => [
|
||||
'seven/drupal.nav-tabs',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
elseif (!empty($variables['secondary'])) {
|
||||
$variables['secondary']['#attached'] = array(
|
||||
'library' => array(
|
||||
$variables['secondary']['#attached'] = [
|
||||
'library' => [
|
||||
'seven/drupal.nav-tabs',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ function seven_preprocess_node_add_list(&$variables) {
|
|||
/** @var \Drupal\node\NodeTypeInterface $type */
|
||||
foreach ($variables['content'] as $type) {
|
||||
$variables['types'][$type->id()]['label'] = $type->label();
|
||||
$variables['types'][$type->id()]['url'] = \Drupal::url('node.add', array('node_type' => $type->id()));
|
||||
$variables['types'][$type->id()]['url'] = \Drupal::url('node.add', ['node_type' => $type->id()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -76,8 +76,8 @@ function seven_preprocess_block_content_add_list(&$variables) {
|
|||
if (!empty($variables['content'])) {
|
||||
foreach ($variables['content'] as $type) {
|
||||
$variables['types'][$type->id()]['label'] = $type->label();
|
||||
$options = array('query' => \Drupal::request()->query->all());
|
||||
$variables['types'][$type->id()]['url'] = \Drupal::url('block_content.add_form', array('block_content_type' => $type->id()), $options);
|
||||
$options = ['query' => \Drupal::request()->query->all()];
|
||||
$variables['types'][$type->id()]['url'] = \Drupal::url('block_content.add_form', ['block_content_type' => $type->id()], $options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -153,36 +153,36 @@ function seven_form_node_form_alter(&$form, FormStateInterface $form_state) {
|
|||
/** @var \Drupal\node\NodeInterface $node */
|
||||
$node = $form_state->getFormObject()->getEntity();
|
||||
|
||||
$form['#theme'] = array('node_edit_form');
|
||||
$form['#theme'] = ['node_edit_form'];
|
||||
$form['#attached']['library'][] = 'seven/node-form';
|
||||
|
||||
$form['advanced']['#type'] = 'container';
|
||||
$is_new = !$node->isNew() ? format_date($node->getChangedTime(), 'short') : t('Not saved yet');
|
||||
$form['meta'] = array(
|
||||
'#attributes' => array('class' => array('entity-meta__header')),
|
||||
$form['meta'] = [
|
||||
'#attributes' => ['class' => ['entity-meta__header']],
|
||||
'#type' => 'container',
|
||||
'#group' => 'advanced',
|
||||
'#weight' => -100,
|
||||
'published' => array(
|
||||
'published' => [
|
||||
'#type' => 'html_tag',
|
||||
'#tag' => 'h3',
|
||||
'#value' => $node->isPublished() ? t('Published') : t('Not published'),
|
||||
'#access' => !$node->isNew(),
|
||||
'#attributes' => array(
|
||||
'class' => 'entity-meta__title',
|
||||
),
|
||||
),
|
||||
'changed' => array(
|
||||
'#attributes' => [
|
||||
'class' => ['entity-meta__title'],
|
||||
],
|
||||
],
|
||||
'changed' => [
|
||||
'#type' => 'item',
|
||||
'#wrapper_attributes' => array('class' => array('entity-meta__last-saved', 'container-inline')),
|
||||
'#wrapper_attributes' => ['class' => ['entity-meta__last-saved', 'container-inline']],
|
||||
'#markup' => '<h4 class="label inline">' . t('Last saved') . '</h4> ' . $is_new,
|
||||
),
|
||||
'author' => array(
|
||||
],
|
||||
'author' => [
|
||||
'#type' => 'item',
|
||||
'#wrapper_attributes' => array('class' => array('author', 'container-inline')),
|
||||
'#wrapper_attributes' => ['class' => ['author', 'container-inline']],
|
||||
'#markup' => '<h4 class="label inline">' . t('Author') . '</h4> ' . $node->getOwner()->getUsername(),
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
$form['revision_information']['#type'] = 'container';
|
||||
$form['revision_information']['#group'] = 'meta';
|
||||
}
|
||||
|
|
12
web/core/themes/seven/templates/image-widget.html.twig
Normal file
|
@ -0,0 +1,12 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an image field widget.
|
||||
*
|
||||
* Included from Classy theme.
|
||||
*
|
||||
* @see template_preprocess_image_widget()
|
||||
*/
|
||||
#}
|
||||
{% include '@classy/content-edit/image-widget.html.twig' %}
|
||||
{{ attach_library('classy/image-widget') }}
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for status report counter.
|
||||
*
|
||||
* Available variables:
|
||||
* - amount: The number shown on counter.
|
||||
* - text: The text shown on counter.
|
||||
* - severity: The severity of the counter.
|
||||
*
|
||||
* @ingroup themable
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'system-status-counter',
|
||||
'system-status-counter--' ~ severity,
|
||||
]
|
||||
%}
|
||||
<span{{ attributes.addClass(classes) }}>
|
||||
<span class="system-status-counter__status-icon system-status-counter__status-icon--{{ severity }}"></span>
|
||||
<span class="system-status-counter__status-title">
|
||||
<span class="system-status-counter__title-count">{{ amount }} {{ text }}</span>
|
||||
<span class="system-status-counter__details"><a href="#{{ severity }}" ><span class="visually-hidden">{{ text }} </span>Details</a></span>
|
||||
</span>
|
||||
</span>
|
|
@ -0,0 +1,99 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for status report general info.
|
||||
*
|
||||
* Available variables:
|
||||
* - drupal: The status of Drupal installation:
|
||||
* - value: The current status of Drupal installation.
|
||||
* - description: The description for current status of Drupal installation.
|
||||
* - cron: The status of cron:
|
||||
* - value: The current status of cron.
|
||||
* - description: The description for current status of cron.
|
||||
* - cron.run_cron: An array to render a button for running cron.
|
||||
* - database_system: The status of database system:
|
||||
* - value: The current status of database sytem.
|
||||
* - description: The description for current status of cron.
|
||||
* - database_system_version: The info about current database version:
|
||||
* - value: The current version of database.
|
||||
* - description: The description for current version of database.
|
||||
* - php: The current version of PHP:
|
||||
* - value: The status of currently installed PHP version.
|
||||
* - description: The description for current installed PHP version.
|
||||
* - php_memory_limit: The info about current PHP memory limit:
|
||||
* - value: The status of currently set PHP memory limit.
|
||||
* - description: The description for currently set PHP memory limit.
|
||||
* - webserver: The info about currently installed web server:
|
||||
* - value: The status of currently installed web server.
|
||||
* - description: The description for the status of currently installed web
|
||||
* server.
|
||||
*/
|
||||
#}
|
||||
<div class="system-status-general-info">
|
||||
<h2 class="system-status-general-info__header">{{ 'General System Information'|t }}</h2>
|
||||
<div class="system-status-general-info__items">
|
||||
<div class="system-status-general-info__item">
|
||||
<span class="system-status-general-info__item-icon system-status-general-info__item-icon--d8"></span>
|
||||
<div class="system-status-general-info__item-details">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Drupal Version'|t }}</h3>
|
||||
{{ drupal.value }}
|
||||
{% if drupal.description %}
|
||||
<div class="description">{{ drupal.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<span class="system-status-general-info__item-icon system-status-general-info__item-icon--clock"></span>
|
||||
<div class="system-status-general-info__item-details">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Last Cron Run'|t }}</h3>
|
||||
{{ cron.value }}
|
||||
{% if cron.run_cron %}
|
||||
<div class="system-status-general-info__run-cron">{{ cron.run_cron }}</div>
|
||||
{% endif %}
|
||||
{% if cron.description %}
|
||||
<div class="system-status-general-info__description">{{ cron.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<span class="system-status-general-info__item-icon system-status-general-info__item-icon--server"></span>
|
||||
<div class="system-status-general-info__item-details">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Web Server'|t }}</h3>
|
||||
{{ webserver.value }}
|
||||
{% if webserver.description %}
|
||||
<div class="description">{{ webserver.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<span class="system-status-general-info__item-icon system-status-general-info__item-icon--php"></span>
|
||||
<div class="system-status-general-info__item-details">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'PHP'|t }}</h3>
|
||||
<h4 class="system-status-general-info__sub-item-title">{{ 'Version'|t }}</h4>{{ php.value }}
|
||||
{% if php.description %}
|
||||
<div class="description">{{ php.description }}</div>
|
||||
{% endif %}
|
||||
|
||||
<h4 class="system-status-general-info__sub-item-title">{{ 'Memory limit'|t }}</h4>{{ php_memory_limit.value }}
|
||||
{% if php_memory_limit.description %}
|
||||
<div class="description">{{ php_memory_limit.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<span class="system-status-general-info__item-icon system-status-general-info__item-icon--database"></span>
|
||||
<div class="system-status-general-info__item-details">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Database'|t }}</h3>
|
||||
<h4 class="system-status-general-info__sub-item-title">{{ 'Version'|t }}</h4>{{ database_system_version.value }}
|
||||
{% if database_system_version.description %}
|
||||
<div class="description">{{ database_system_version.description }}</div>
|
||||
{% endif %}
|
||||
|
||||
<h4 class="system-status-general-info__sub-item-title">{{ 'System'|t }}</h4>{{ database_system.value }}
|
||||
{% if database_system.description %}
|
||||
<div class="description">{{ database_system.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,50 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display status report.
|
||||
*
|
||||
* - grouped_requirements: Contains grouped requirements.
|
||||
* Each group contains:
|
||||
* - title: The title of the group.
|
||||
* - type: The severity of the group.
|
||||
* - items: The requirement instances.
|
||||
* Each requirement item contains:
|
||||
* - title: The title of the requirement.
|
||||
* - value: (optional) The requirement's status.
|
||||
* - description: (optional) The requirement's description.
|
||||
* - severity_title: The title of the severity.
|
||||
* - severity_status: Indicates the severity status.
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('core/drupal.collapse') }}
|
||||
{{ attach_library('seven/drupal.responsive-detail') }}
|
||||
|
||||
<div class="system-status-report">
|
||||
{% for group in grouped_requirements %}
|
||||
<div class="system-status-report__requirements-group">
|
||||
<h3 id="{{ group.type }}">{{ group.title }}</h3>
|
||||
{% for requirement in group.items %}
|
||||
<details class="system-status-report__entry system-status-report__entry--{{ group.type }} color-{{ group.type }}">
|
||||
{%
|
||||
set summary_classes = [
|
||||
'system-status-report__status-title',
|
||||
group.type in ['warning', 'error'] ? 'system-status-report__status-icon system-status-report__status-icon--' ~ group.type
|
||||
]
|
||||
%}
|
||||
<summary{{ create_attribute({'class': summary_classes}) }} role="button">
|
||||
{% if requirement.severity_title %}
|
||||
<span class="visually-hidden">{{ requirement.severity_title }}</span>
|
||||
{% endif %}
|
||||
{{ requirement.title }}
|
||||
</summary>
|
||||
<div class="system-status-report__entry__value">
|
||||
{{ requirement.value }}
|
||||
{% if requirement.description %}
|
||||
<div class="description">{{ requirement.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
28
web/core/themes/seven/templates/status-report-page.html.twig
Normal file
|
@ -0,0 +1,28 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the status report page.
|
||||
*
|
||||
* Available variables:
|
||||
* - counters: The list of counter elements.
|
||||
* - general_info: A render array to create general info element.
|
||||
* - requirements: A render array to create requirements table.
|
||||
*
|
||||
* @see template_preprocess_status_report()
|
||||
*/
|
||||
#}
|
||||
{% if counters|length == 3 %}
|
||||
{% set element_width_class = ' system-status-report-counters__item--third-width' %}
|
||||
{% elseif counters|length == 2 %}
|
||||
{% set element_width_class = ' system-status-report-counters__item--half-width' %}
|
||||
{% endif %}
|
||||
<div class="system-status-report-counters">
|
||||
{% for counter in counters %}
|
||||
<div class="system-status-report-counters__item{{ element_width_class }}">
|
||||
{{ counter }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{{ general_info }}
|
||||
{{ requirements }}
|
|
@ -23,4 +23,4 @@ ABOUT DRUPAL THEMING
|
|||
--------------------
|
||||
|
||||
For more information, see Drupal.org's theming guide.
|
||||
https://www.drupal.org/theme-guide/8
|
||||
https://www.drupal.org/docs/8/theming
|
||||
|
|
52
web/core/themes/stable/css/image/editors/image.css
Normal file
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* @file
|
||||
* Functional styles for the Image module's in-place editor.
|
||||
*/
|
||||
|
||||
/**
|
||||
* A minimum width/height is required so that users can drag and drop files
|
||||
* onto small images.
|
||||
*/
|
||||
.quickedit-image-element {
|
||||
min-width: 200px;
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.quickedit-image-icon {
|
||||
display: block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.quickedit-image-field-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.quickedit-image-text {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* If we do not prevent pointer-events for child elements, our drag+drop events
|
||||
* will not fire properly. This can lead to unintentional redirects if a file
|
||||
* is dropped on a child element when a user intended to upload it.
|
||||
*/
|
||||
.quickedit-image-dropzone * {
|
||||
pointer-events: none;
|
||||
}
|
100
web/core/themes/stable/css/image/editors/image.theme.css
Normal file
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
* @file
|
||||
* Theme styles for the Image module's in-place editor.
|
||||
*/
|
||||
|
||||
.quickedit-image-dropzone {
|
||||
background: rgba(116, 183, 255, 0.8);
|
||||
transition: background .2s;
|
||||
}
|
||||
|
||||
.quickedit-image-icon {
|
||||
margin: 0 0 10px 0;
|
||||
transition: margin .5s;
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.hover {
|
||||
background: rgba(116, 183, 255, 0.9);
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.error {
|
||||
background: rgba(255, 52, 27, 0.81);
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.upload .quickedit-image-icon {
|
||||
background-image: url('../../../images/image/upload.svg');
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.error .quickedit-image-icon {
|
||||
background-image: url('../../../images/image/error.svg');
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.loading .quickedit-image-icon {
|
||||
margin: -10px 0 20px 0;
|
||||
}
|
||||
|
||||
.quickedit-image-dropzone.loading .quickedit-image-icon::after {
|
||||
display: block;
|
||||
content: "";
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
animation-duration: 2s;
|
||||
animation-name: quickedit-image-spin;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-style: solid;
|
||||
border-radius: 35px;
|
||||
border-width: 5px;
|
||||
border-color: white transparent transparent transparent;
|
||||
}
|
||||
|
||||
@keyframes quickedit-image-spin {
|
||||
0% {transform: rotate(0deg);}
|
||||
50% {transform: rotate(180deg);}
|
||||
100% {transform: rotate(360deg);}
|
||||
}
|
||||
|
||||
.quickedit-image-text {
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-family: "Droid sans", "Lucida Grande", sans-serif;
|
||||
font-size: 16px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
|
||||
.quickedit-image-field-info {
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-top: 1px solid #c5c5c5;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.quickedit-image-field-info div {
|
||||
margin-right: 10px; /* LTR */
|
||||
}
|
||||
|
||||
.quickedit-image-field-info div:last-child {
|
||||
margin-right: 0; /* LTR */
|
||||
}
|
||||
|
||||
[dir="rtl"] .quickedit-image-field-info div {
|
||||
margin-left: 10px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
[dir="rtl"] .quickedit-image-field-info div:last-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.quickedit-image-errors .messages__wrapper {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.quickedit-image-errors .messages--error {
|
||||
box-shadow: none;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @file
|
||||
* Styles for the system status counter component.
|
||||
*/
|
||||
|
||||
.system-status-counter__status-icon {
|
||||
display: inline-block;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.system-status-counter__status-icon:before {
|
||||
content: "";
|
||||
background-size: 20px;
|
||||
background-position: center 2px;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.system-status-counter__status-icon--error:before {
|
||||
background-image: url(../../../images/core/icons/e32700/error.svg);
|
||||
}
|
||||
.system-status-counter__status-icon--warning:before {
|
||||
background-image: url(../../../images/core/icons/e29700/warning.svg);
|
||||
}
|
||||
.system-status-counter__status-icon--checked:before {
|
||||
background-image: url(../../../images/core/icons/73b355/check.svg);
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* @file
|
||||
* Styles for the system status report counters.
|
||||
*/
|
||||
|
||||
.system-status-report-counters__item {
|
||||
width: 100%;
|
||||
padding: .5em 0;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
background-color: rgba(0, 0, 0, 0.063);
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 60em) {
|
||||
.system-status-report-counters {
|
||||
flex-wrap: wrap;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.system-status-report-counters__item--half-width {
|
||||
width: 49%;
|
||||
}
|
||||
.system-status-report-counters__item--third-width {
|
||||
width: 33%;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* @file
|
||||
* Default styles for the System Status general info.
|
||||
*/
|
||||
|
||||
.system-status-general-info__item {
|
||||
border: 1px solid #ccc;
|
||||
margin-top: 1em;
|
||||
padding: 0 1em 1em;
|
||||
}
|
||||
|
||||
.system-status-general-info__item-title {
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
|
@ -204,10 +204,11 @@ small .admin-link:after {
|
|||
.system-status-report__status-title {
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
width: 25%;
|
||||
width: 100%;
|
||||
padding: 10px 6px 10px 40px; /* LTR */
|
||||
box-sizing: border-box;
|
||||
font-weight: normal;
|
||||
background-color: transparent;
|
||||
}
|
||||
[dir="rtl"] .system-status-report__status-title {
|
||||
padding: 10px 40px 10px 6px;
|
||||
|
@ -232,6 +233,9 @@ small .admin-link:after {
|
|||
.system-status-report__status-icon--warning:before {
|
||||
background-image: url(../../images/core/icons/e29700/warning.svg);
|
||||
}
|
||||
.system-status-report__entry__value {
|
||||
padding: 1em .5em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appearance page.
|
||||
|
@ -387,3 +391,6 @@ small .admin-link:after {
|
|||
[dir="rtl"] .system-themes-admin-form {
|
||||
clear: right;
|
||||
}
|
||||
.cron-description__run-cron {
|
||||
display: block;
|
||||
}
|
||||
|
|
|
@ -170,9 +170,9 @@ details.box-padding {
|
|||
margin-bottom: 6px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.views-ui-view-title {
|
||||
.views-ui-view-name h3 {
|
||||
font-weight: bold;
|
||||
margin-top: 0;
|
||||
margin: 0.25em 0;
|
||||
}
|
||||
.view-changed {
|
||||
margin-bottom: 21px;
|
||||
|
@ -183,22 +183,33 @@ details.box-padding {
|
|||
margin-bottom: 0;
|
||||
margin-top: 18px;
|
||||
}
|
||||
.views-ui-view-displays ul {
|
||||
margin-left: 0; /* LTR */
|
||||
padding-left: 0; /* LTR */
|
||||
list-style: none;
|
||||
}
|
||||
[dir="rtl"] .views-ui-view-displays ul {
|
||||
margin-right: 0;
|
||||
padding-right: 0;
|
||||
margin-left: inherit;
|
||||
padding-left: inherit;
|
||||
}
|
||||
|
||||
/* These header classes are ambiguous and should be scoped to th elements */
|
||||
.views-ui-name {
|
||||
width: 18%;
|
||||
width: 20%;
|
||||
}
|
||||
.views-ui-description {
|
||||
width: 26%;
|
||||
width: 30%;
|
||||
}
|
||||
.views-ui-tag {
|
||||
width: 8%;
|
||||
.views-ui-machine-name {
|
||||
width: 15%;
|
||||
}
|
||||
.views-ui-path {
|
||||
width: auto;
|
||||
.views-ui-displays {
|
||||
width: 25%;
|
||||
}
|
||||
.views-ui-operations {
|
||||
width: 24%;
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -604,7 +615,7 @@ td.group-title {
|
|||
margin: 0;
|
||||
padding: 6px 16px;
|
||||
}
|
||||
.views-ui-dialog .views-override {
|
||||
.views-ui-dialog .views-override:not(:empty) {
|
||||
background-color: #f3f4ee;
|
||||
padding: 8px 13px;
|
||||
}
|
||||
|
|
4
web/core/themes/stable/images/image/error.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 261 B |
4
web/core/themes/stable/images/image/upload.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 202 B |
|
@ -98,6 +98,12 @@ libraries-override:
|
|||
css:
|
||||
theme:
|
||||
css/image.admin.css: css/image/image.admin.css
|
||||
image/quickedit.inPlaceEditor.image:
|
||||
css:
|
||||
component:
|
||||
css/editors/image.css: css/image/editors/image.css
|
||||
theme:
|
||||
css/editors/image.theme.css: css/image/editors/image.theme.css
|
||||
|
||||
language/drupal.language.admin:
|
||||
css:
|
||||
|
@ -169,6 +175,9 @@ libraries-override:
|
|||
css/components/reset-appearance.module.css: css/system/components/reset-appearance.module.css
|
||||
css/components/resize.module.css: css/system/components/resize.module.css
|
||||
css/components/sticky-header.module.css: css/system/components/sticky-header.module.css
|
||||
css/components/system-status-counter.css: css/system/components/system-status-counter.css
|
||||
css/components/system-status-report-counters.css: css/system/components/system-status-report-counters.css
|
||||
css/components/system-status-report-general-info.css: css/system/components/system-status-report-general-info.css
|
||||
css/components/tabledrag.module.css: css/system/components/tabledrag.module.css
|
||||
css/components/tablesort.module.css: css/system/components/tablesort.module.css
|
||||
css/components/tree-child.module.css: css/system/components/tree-child.module.css
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the status report counter.
|
||||
*
|
||||
* Available variables:
|
||||
* - amount: The number shown on counter.
|
||||
* - text: The text shown on counter.
|
||||
* - severity: The severity of the counter.
|
||||
*
|
||||
* @ingroup themable
|
||||
*/
|
||||
#}
|
||||
{{ amount }} {{ text }}
|
||||
<a href="#{{ severity }}"><span class="visually-hidden">{{ text }} </span>Details</a>
|
|
@ -0,0 +1,81 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the status report general info.
|
||||
*
|
||||
* Available variables:
|
||||
* - drupal: The status of Drupal installation:
|
||||
* - value: The current status of Drupal installation.
|
||||
* - description: The description for current status of Drupal installation.
|
||||
* - cron: The status of cron:
|
||||
* - value: The current status of cron.
|
||||
* - description: The description for current status of cron.
|
||||
* - cron.run_cron: An array to render a button for running cron.
|
||||
* - database_system: The status of database system:
|
||||
* - value: The current status of database sytem.
|
||||
* - description: The description for current status of cron.
|
||||
* - database_system_version: The info about current database version:
|
||||
* - value: The current version of database.
|
||||
* - description: The description for current version of database.
|
||||
* - php: The current version of PHP:
|
||||
* - value: The status of currently installed PHP version.
|
||||
* - description: The description for current installed PHP version.
|
||||
* - php_memory_limit: The info about current PHP memory limit:
|
||||
* - value: The status of currently set PHP memory limit.
|
||||
* - description: The description for currently set PHP memory limit.
|
||||
* - webserver: The info about currently installed web server:
|
||||
* - value: The status of currently installed web server.
|
||||
* - description: The description for the status of currently installed web
|
||||
* server.
|
||||
*/
|
||||
#}
|
||||
|
||||
<h2>{{ 'General System Information'|t }}</h2>
|
||||
<div class="system-status-general-info__item">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Drupal Version'|t }}</h3>
|
||||
{{ drupal.value }}
|
||||
{% if drupal.description %}
|
||||
{{ drupal.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Last Cron Run'|t }}</h3>
|
||||
{{ cron.value }}
|
||||
{% if cron.run_cron %}
|
||||
{{ cron.run_cron }}
|
||||
{% endif %}
|
||||
{% if cron.description %}
|
||||
{{ cron.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Web Server'|t }}</h3>
|
||||
{{ webserver.value }}
|
||||
{% if webserver.description %}
|
||||
{{ webserver.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'PHP'|t }}</h3>
|
||||
<h4>{{ 'Version'|t }}</h4>{{ php.value }}
|
||||
{% if php.description %}
|
||||
{{ php.description }}
|
||||
{% endif %}
|
||||
|
||||
<h4>{{ 'Memory limit'|t }}</h4>{{ php_memory_limit.value }}
|
||||
{% if php_memory_limit.description %}
|
||||
{{ php_memory_limit.description }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="system-status-general-info__item">
|
||||
<h3 class="system-status-general-info__item-title">{{ 'Database'|t }}</h3>
|
||||
<h4>{{ 'Version'|t }}</h4>{{ database_system_version.value }}
|
||||
{% if database_system_version.description %}
|
||||
{{ database_system_version.description }}
|
||||
{% endif %}
|
||||
|
||||
<h4>{{ 'System'|t }}</h4>{{ database_system.value }}
|
||||
{% if database_system.description %}
|
||||
{{ database_system.description }}
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,49 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of grouped status report requirements.
|
||||
*
|
||||
* - grouped_requirements: Contains grouped requirements.
|
||||
* Each group contains:
|
||||
* - title: The title of the group.
|
||||
* - type: The severity of the group.
|
||||
* - items: The requirement instances.
|
||||
* Each requirement item contains:
|
||||
* - title: The title of the requirement.
|
||||
* - value: (optional) The requirement's status.
|
||||
* - description: (optional) The requirement's description.
|
||||
* - severity_title: The title of the severity.
|
||||
* - severity_status: Indicates the severity status.
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('core/drupal.collapse') }}
|
||||
|
||||
<div>
|
||||
{% for group in grouped_requirements %}
|
||||
<div>
|
||||
<h3 id="{{ group.type }}">{{ group.title }}</h3>
|
||||
{% for requirement in group.items %}
|
||||
<details class="system-status-report__entry">
|
||||
{%
|
||||
set summary_classes = [
|
||||
'system-status-report__status-title',
|
||||
group.type in ['warning', 'error'] ? 'system-status-report__status-icon system-status-report__status-icon--' ~ group.type
|
||||
]
|
||||
%}
|
||||
<summary{{ create_attribute({'class': summary_classes}) }} role="button">
|
||||
{% if requirement.severity_title %}
|
||||
<span class="visually-hidden">{{ requirement.severity_title }}</span>
|
||||
{% endif %}
|
||||
{{ requirement.title }}
|
||||
</summary>
|
||||
<div class="system-status-report__entry__value">
|
||||
{{ requirement.value }}
|
||||
{% if requirement.description %}
|
||||
<div class="description">{{ requirement.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -0,0 +1,28 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the status report page.
|
||||
*
|
||||
* Available variables:
|
||||
* - counters: The list of counter elements.
|
||||
* - general_info: A render array to create general info element.
|
||||
* - requirements: A render array to create requirements table.
|
||||
*
|
||||
* @see template_preprocess_status_report()
|
||||
*/
|
||||
#}
|
||||
{% if counters|length == 3 %}
|
||||
{% set element_width_class = ' system-status-report-counters__item--third-width' %}
|
||||
{% elseif counters|length == 2 %}
|
||||
{% set element_width_class = ' system-status-report-counters__item--half-width' %}
|
||||
{% endif %}
|
||||
<div class="system-status-report-counters">
|
||||
{% for counter in counters %}
|
||||
<div class="system-status-report-counters__item{{ element_width_class }}">
|
||||
{{ counter }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{{ general_info }}
|
||||
{{ requirements }}
|
|
@ -0,0 +1,22 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for views displays on the views listing page.
|
||||
*
|
||||
* Available variables:
|
||||
* - displays: Contains multiple display instances. Each display contains:
|
||||
* - display: Display name.
|
||||
* - path: Path to display, if any.
|
||||
*/
|
||||
#}
|
||||
<ul>
|
||||
{% for display in displays %}
|
||||
<li>
|
||||
{% if display.path %}
|
||||
{{ display.display }} <span data-drupal-selector="views-table-filter-text-source">({{ display.path }})</span>
|
||||
{% else %}
|
||||
{{ display.display }}
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -0,0 +1,47 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for views listing table.
|
||||
*
|
||||
* Available variables:
|
||||
* - headers: Contains table headers.
|
||||
* - rows: Contains multiple rows. Each row contains:
|
||||
* - view_name: The human-readable name of the view.
|
||||
* - machine_name: Machine name of the view.
|
||||
* - description: The description of the view.
|
||||
* - displays: List of displays attached to the view.
|
||||
* - operations: List of available operations.
|
||||
*
|
||||
* @see template_preprocess_views_ui_views_listing_table()
|
||||
*/
|
||||
#}
|
||||
<table{{ attributes.addClass('responsive-enabled') }}>
|
||||
<thead>
|
||||
<tr>
|
||||
{% for header in headers %}
|
||||
<th{{ header.attributes }}>{{ header.data }}</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in rows %}
|
||||
<tr{{ row.attributes }}>
|
||||
<td class="views-ui-view-name">
|
||||
<h3 data-drupal-selector="views-table-filter-text-source">{{ row.data.view_name.data }}</h3>
|
||||
</td>
|
||||
<td class="views-ui-view-machine-name" data-drupal-selector="views-table-filter-text-source">
|
||||
{{ row.data.machine_name.data }}
|
||||
</td>
|
||||
<td class="views-ui-view-description" data-drupal-selector="views-table-filter-text-source">
|
||||
{{ row.data.description.data }}
|
||||
</td>
|
||||
<td class="views-ui-view-displays">
|
||||
{{ row.data.displays.data }}
|
||||
</td>
|
||||
<td class="views-ui-view-operations">
|
||||
{{ row.data.operations.data }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -11,7 +11,7 @@
|
|||
* @see template_preprocess_views_view_opml()
|
||||
*/
|
||||
#}
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<opml version="2.0">
|
||||
<head>
|
||||
<title>{{ title }}</title>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* @see template_preprocess_views_view_rss()
|
||||
*/
|
||||
#}
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xml:base="{{ link }}"{{ namespaces }}>
|
||||
<channel>
|
||||
<title>{{ title }}</title>
|
||||
|
|
|
@ -17,7 +17,7 @@ ABOUT DRUPAL THEMING
|
|||
--------------------
|
||||
|
||||
To learn how to build your own custom theme and override Drupal's default code,
|
||||
see the Theming Guide: https://www.drupal.org/theme-guide
|
||||
see the Theming Guide: https://www.drupal.org/docs/8/theming
|
||||
|
||||
See the themes/README.txt for more information on where to place your
|
||||
custom themes to ensure easy maintenance and upgrades.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: Stark
|
||||
type: theme
|
||||
description: 'An intentionally plain theme with no styling to demonstrate default Drupal’s HTML and CSS. Learn how to build a custom theme from Stark in the <a href="https://www.drupal.org/theme-guide">Theming Guide</a>.'
|
||||
description: 'An intentionally plain theme with no styling to demonstrate default Drupal’s HTML and CSS. Learn how to build a custom theme from Stark in the <a href="https://www.drupal.org/docs/8/theming">Theming Guide</a>.'
|
||||
package: Core
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
|
|