From 9b01050d5573674b05bf58fa2174e447082dd1eb Mon Sep 17 00:00:00 2001 From: Guy Date: Wed, 23 May 2018 11:23:14 +1200 Subject: [PATCH] FIX Moving the version tag to below the action buttons --- css/sitesummary.css | 5 +++ src/Forms/GridFieldHtmlFragment.php | 42 ++++++++++++++++++++++++++ src/Reports/SiteSummary.php | 29 ++++++++---------- templates/SiteSummary_VersionHeader.ss | 2 ++ 4 files changed, 62 insertions(+), 16 deletions(-) create mode 100644 src/Forms/GridFieldHtmlFragment.php create mode 100644 templates/SiteSummary_VersionHeader.ss diff --git a/css/sitesummary.css b/css/sitesummary.css index 2d58dde..f35a353 100644 --- a/css/sitesummary.css +++ b/css/sitesummary.css @@ -2,6 +2,11 @@ display:block; } +.cms .ss-gridfield > div.site-summary__clearfix { + margin: 0; + clear: both; +} + .gridfield-button-link { margin-bottom: 12px; } diff --git a/src/Forms/GridFieldHtmlFragment.php b/src/Forms/GridFieldHtmlFragment.php new file mode 100644 index 0000000..4eadc40 --- /dev/null +++ b/src/Forms/GridFieldHtmlFragment.php @@ -0,0 +1,42 @@ +targetFragment = $targetFragment; + $this->htmlFragment = $htmlFragment; + } + + /** + * @param GridField $gridField + * @return array + */ + public function getHTMLFragments($gridField) + { + return [$this->targetFragment => $this->htmlFragment]; + } +} diff --git a/src/Reports/SiteSummary.php b/src/Reports/SiteSummary.php index 06d6c73..454dd57 100644 --- a/src/Reports/SiteSummary.php +++ b/src/Reports/SiteSummary.php @@ -12,20 +12,6 @@ public function title() return _t(__CLASS__ . '.TITLE', 'Installed modules'); } - public function getCMSFields() - { - $fields = parent::getCMSFields(); - - $this->beforeExtending('updateCMSFields', function (FieldList $fields) { - $fields->unshift(new LiteralField( - 'Version', - '

' . _t(__CLASS__ . '.VERSION', 'Version: ') . $this->resolveCmsVersion() . '

' - )); - }); - - return $fields; - } - public function sourceRecords() { $packageList = Package::get(); @@ -58,9 +44,20 @@ public function getReportField() Requirements::css('silverstripe-maintenance/css/sitesummary.css'); $grid = parent::getReportField(); $config = $grid->getConfig(); + + $versionHtml = ArrayData::create([ + 'Title' => _t(__CLASS__ . '.VERSION', 'Version'), + 'Version' => $this->resolveCmsVersion(), + ])->renderWith('SiteSummary_VersionHeader'); + $config->addComponents( - Injector::inst()->create('GridFieldButtonRow', 'before'), - Injector::inst()->create('GridFieldLinkButton', 'https://addons.silverstripe.org', 'buttons-before-left') + Injector::inst()->create(GridFieldButtonRow::class, 'before'), + Injector::inst()->create( + GridFieldLinkButton::class, + 'https://addons.silverstripe.org', + 'buttons-before-left' + ), + Injector::inst()->create(GridFieldHtmlFragment::class, 'header', $versionHtml) ) ->getComponentByType(GridFieldExportButton::class) ->setExportColumns( diff --git a/templates/SiteSummary_VersionHeader.ss b/templates/SiteSummary_VersionHeader.ss new file mode 100644 index 0000000..20c5b76 --- /dev/null +++ b/templates/SiteSummary_VersionHeader.ss @@ -0,0 +1,2 @@ +
+

{$Title.XML}: {$Version.XML}

\ No newline at end of file