From 98d51471ddf6e56a3db2914956b5b1604d9eefa1 Mon Sep 17 00:00:00 2001 From: Konstantinos Platis <konstantinos.platis@cern.ch> Date: Fri, 31 May 2019 15:37:19 +0000 Subject: [PATCH] Added Event Grid as display format --- assets/css/event-grid.css | 6 +++++ assets/scss/event-grid.scss | 9 +++++++ cern_display_formats.libraries.yml | 8 +++++- cern_display_formats.module | 3 +++ src/Plugin/views/style/EventGrid.php | 38 ++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 assets/css/event-grid.css create mode 100644 assets/scss/event-grid.scss create mode 100644 src/Plugin/views/style/EventGrid.php diff --git a/assets/css/event-grid.css b/assets/css/event-grid.css new file mode 100644 index 0000000..517c949 --- /dev/null +++ b/assets/css/event-grid.css @@ -0,0 +1,6 @@ +.event-grid .views-row { + height: 297px; } + .event-grid .views-row .agenda-box-pattern { + height: 100%; } + +/*# sourceMappingURL=event-grid.css.map */ diff --git a/assets/scss/event-grid.scss b/assets/scss/event-grid.scss new file mode 100644 index 0000000..50471a5 --- /dev/null +++ b/assets/scss/event-grid.scss @@ -0,0 +1,9 @@ +.event-grid{ + .views-row{ + height: 297px; + + .agenda-box-pattern{ + height: 100%; + } + } +} \ No newline at end of file diff --git a/cern_display_formats.libraries.yml b/cern_display_formats.libraries.yml index bf19ffe..5d281eb 100644 --- a/cern_display_formats.libraries.yml +++ b/cern_display_formats.libraries.yml @@ -8,4 +8,10 @@ featured-banner-stylesheets: version: 1.x css: layout: - assets/css/featured-banner.css: {} \ No newline at end of file + assets/css/featured-banner.css: {} + +event-grid-stylesheets: + version: 1.x + css: + layout: + assets/css/event-grid.css: {} \ No newline at end of file diff --git a/cern_display_formats.module b/cern_display_formats.module index 0e6734d..1c8dc92 100755 --- a/cern_display_formats.module +++ b/cern_display_formats.module @@ -55,5 +55,8 @@ function cern_display_formats_views_post_render(ViewExecutable $view, &$output, $view->display_handler->setOption('css_class', 'accordion-cern'); } elseif ($view->display_handler->view->style_plugin->getPluginId() == "card_grid") { $view->display_handler->setOption('css_class', 'cern-view-display-page cern-view-display-resources'); + } elseif ($view->display_handler->view->style_plugin->getPluginId() == "event_grid") { + $view->display_handler->setOption('css_class', 'event-grid'); + $output['#attached']['library'][] = "cern_display_formats/event-grid-stylesheets"; //attaches the stylesheet } } \ No newline at end of file diff --git a/src/Plugin/views/style/EventGrid.php b/src/Plugin/views/style/EventGrid.php new file mode 100644 index 0000000..af00f81 --- /dev/null +++ b/src/Plugin/views/style/EventGrid.php @@ -0,0 +1,38 @@ +<?php + + +namespace Drupal\cern_display_formats\Plugin\views\style; + +use Drupal\core\form\FormStateInterface; +use Drupal\views\Plugin\views\style\DefaultStyle; + +/** + * Style plugin rendering as Event Grid + * + * @ingroup views_style_plugins + * + * @ViewsStyle( + * id = "event_grid", + * title = @Translation("Event Grid"), + * help = @Translation("Displays content as an Event Grid"), + * theme = "views_view_unformatted", + * display_types = {"normal"} + * ) + */ +class EventGrid extends DefaultStyle { + + protected $usesRowPlugin = true; + + /** + * Does the style plugin support custom css class for the rows. + * + * @var bool + */ + protected $usesRowClass = true; + + protected $usesoptions = true; + + protected $renderFields = true; + + +} \ No newline at end of file -- GitLab