From 02f0ac6e9b4975b25d1b6fa9e7ad35bfa81b72a5 Mon Sep 17 00:00:00 2001 From: Owen Bush <ojb@ukhhf.co.uk> Date: Sat, 23 Mar 2019 21:47:42 -0600 Subject: [PATCH] Added inline date view mode for event instances --- ...view_display.eventinstance.inline_date.yml | 26 +++++++++++++++++++ ...ty_view_mode.eventinstance.inline_date.yml | 12 +++++++++ recurring_events.routing.yml | 21 +++++++++++++++ src/Entity/EventSeries.php | 18 ++++++++++++- 4 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 config/install/core.entity_view_display.eventinstance.inline_date.yml create mode 100644 config/install/core.entity_view_mode.eventinstance.inline_date.yml diff --git a/config/install/core.entity_view_display.eventinstance.inline_date.yml b/config/install/core.entity_view_display.eventinstance.inline_date.yml new file mode 100644 index 00000000..f367d468 --- /dev/null +++ b/config/install/core.entity_view_display.eventinstance.inline_date.yml @@ -0,0 +1,26 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - recurring_events + config: + - core.entity_view_mode.eventinstance.inline_date + module: + - recurring_events +id: eventinstace.inline_date +targetEntityType: eventinstance +bundle: eventinstance +mode: inline_date +content: + date: + weight: 0 + label: above + settings: + separator: '-' + format_type: medium + timezone_override: '' + third_party_settings: { } + type: daterange_default +hidden: + body: true diff --git a/config/install/core.entity_view_mode.eventinstance.inline_date.yml b/config/install/core.entity_view_mode.eventinstance.inline_date.yml new file mode 100644 index 00000000..e56ab6f2 --- /dev/null +++ b/config/install/core.entity_view_mode.eventinstance.inline_date.yml @@ -0,0 +1,12 @@ +langcode: en +status: false +dependencies: + enforced: + module: + - recurring_events + module: + - recurring_events +id: eventinstance.inline_date +label: 'Inline date' +targetEntityType: eventinstance +cache: true diff --git a/recurring_events.routing.yml b/recurring_events.routing.yml index ce559c92..53501a0f 100644 --- a/recurring_events.routing.yml +++ b/recurring_events.routing.yml @@ -1,3 +1,5 @@ +# Event Series. + # View an EventSeries. entity.eventseries.canonical: path: '/events/series/{eventseries}' @@ -5,6 +7,10 @@ entity.eventseries.canonical: _entity_view: 'eventseries' requirements: _entity_access: 'eventseries.view' + options: + parameters: + eventseries: + type: entity:eventseries # Add an EventSeries. entity.eventseries.add_form: @@ -67,6 +73,21 @@ entity.eventseries.collection: # Checks for permission directly. _permission: 'access eventseries overview' + +# Event Instances. + +# View an EventInstance. +entity.eventinstance.canonical: + path: '/events/{eventinstance}' + defaults: + _entity_view: 'eventinstance' + requirements: + _entity_access: 'eventinstance.view' + options: + parameters: + eventinstance: + type: entity:eventinstance + # Admin Menu Strucutre. events.admin.overview: path: '/admin/structure/events' diff --git a/src/Entity/EventSeries.php b/src/Entity/EventSeries.php index 5b08c1a1..7f781598 100644 --- a/src/Entity/EventSeries.php +++ b/src/Entity/EventSeries.php @@ -327,6 +327,10 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { 'type' => 'string_textfield', 'weight' => -6, ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE) ->setRevisionable(TRUE) @@ -343,6 +347,10 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { 'type' => 'text_textarea', 'weight' => -4, ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]) ->setDisplayConfigurable('form', TRUE); $fields['recur_type'] = BaseFieldDefinition::create('list_string') @@ -369,7 +377,11 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { ], ], 'weight' => 1, - ]); + ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]);; $fields['weekly_recurring_date'] = BaseFieldDefinition::create('weekly_recurring_date') ->setLabel(t('Weekly Recurring Date')) @@ -421,8 +433,12 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { ->setSetting('target_type', 'eventinstance') ->setTranslatable(FALSE) ->setDisplayOptions('view', [ + 'type' => 'entity_reference_entity_view', 'label' => 'above', 'weight' => 10, + 'settings' => [ + 'view_mode' => 'inline_date', + ], ]) ->setDisplayConfigurable('view', TRUE) ->setDisplayConfigurable('form', FALSE) -- GitLab