5 Commits
31 changed files with 1407 additions and 196 deletions
@@ -0,0 +1,14 @@
uuid: 4263a6ab-307a-4e78-b28d-74d8788b4ded
langcode: fr
status: true
dependencies: { }
id: projet_evenement
label: projet_evenement
enabled: true
first_field: field_projet_s_lie_s
second_field: field_evenement_s_lie_s
add_direction: append
bundles:
node:
- evenement
- projet
@@ -31,6 +31,7 @@ third_party_settings:
children:
- group_description
- group_liens
- group_media
label: Tabs
region: content
parent_name: ''
@@ -110,8 +111,8 @@ third_party_settings:
- field_images
label: Media
region: content
parent_name: ''
weight: 4
parent_name: group_tabs
weight: 13
format_type: tab
format_settings:
classes: ''
@@ -7,6 +7,7 @@ dependencies:
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
@@ -125,6 +126,7 @@ third_party_settings:
group_liens:
children:
- field_projet_s_lie_s
- field_evenement_s_lie_s
label: liens
region: content
parent_name: group_tabs
@@ -177,6 +179,16 @@ content:
region: content
settings: { }
third_party_settings: { }
field_evenement_s_lie_s:
type: entity_reference_autocomplete
weight: 7
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
field_fichiers:
type: file_generic
weight: 8
@@ -38,7 +38,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 3
weight: 1
region: content
field_dates:
type: daterange_default
@@ -78,7 +78,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 2
weight: 3
region: content
field_type_d_evenement:
type: entity_reference_label
@@ -86,7 +86,7 @@ content:
settings:
link: true
third_party_settings: { }
weight: 1
weight: 2
region: content
hidden:
body: true
@@ -39,7 +39,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 3
weight: 1
region: content
field_dates:
type: daterange_default
@@ -84,7 +84,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 1
weight: 2
region: content
field_partenaire_s:
type: entity_reference_label
@@ -115,7 +115,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 2
weight: 3
region: content
links:
settings: { }
@@ -105,7 +105,7 @@ content:
type: entity_reference_entity_view
label: above
settings:
view_mode: tableau_liste
view_mode: lie
link: false
third_party_settings: { }
weight: 8
@@ -0,0 +1,99 @@
uuid: da229af2-3a56-4d57-914e-9c14a90feef3
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.lie
- field.field.node.evenement.body
- field.field.node.evenement.field_artiste_s_invite_s
- field.field.node.evenement.field_dates
- field.field.node.evenement.field_images
- field.field.node.evenement.field_infos_pratiques
- field.field.node.evenement.field_invite_accompagne_curate_p
- field.field.node.evenement.field_lieu
- field.field.node.evenement.field_partenaire_s
- field.field.node.evenement.field_portage
- field.field.node.evenement.field_projet_s_lie_s
- field.field.node.evenement.field_type_d_evenement
- image.style.large
- node.type.evenement
module:
- datetime_range
- image_delta_formatter
- layout_builder
- text
- user
third_party_settings:
layout_builder:
enabled: false
allow_custom: false
id: node.evenement.lie
targetEntityType: node
bundle: evenement
mode: lie
content:
field_artiste_s_invite_s:
type: entity_reference_label
label: hidden
settings:
link: false
third_party_settings: { }
weight: 3
region: content
field_dates:
type: daterange_default
label: hidden
settings:
timezone_override: ''
format_type: medium
from_to: both
separator: '-'
third_party_settings: { }
weight: 0
region: content
field_images:
type: image_delta_formatter
label: visually_hidden
settings:
deltas:
- 0
deltas_reversed: false
image_link: content
image_style: large
image_loading:
attribute: lazy
third_party_settings: { }
weight: 4
region: content
field_infos_pratiques:
type: text_default
label: above
settings: { }
third_party_settings: { }
weight: 5
region: content
field_lieu:
type: entity_reference_label
label: visually_hidden
settings:
link: false
third_party_settings: { }
weight: 1
region: content
field_type_d_evenement:
type: entity_reference_label
label: hidden
settings:
link: false
third_party_settings: { }
weight: 2
region: content
hidden:
body: true
field_invite_accompagne_curate_p: true
field_partenaire_s: true
field_portage: true
field_projet_s_lie_s: true
langcode: true
links: true
search_api_excerpt: true
@@ -6,6 +6,7 @@ dependencies:
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
@@ -51,7 +52,15 @@ content:
from_to: both
separator: '-'
third_party_settings: { }
weight: 2
weight: 3
region: content
field_evenement_s_lie_s:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 12
region: content
field_fichiers:
type: file_default
@@ -116,7 +125,7 @@ content:
settings:
link: false
third_party_settings: { }
weight: 3
weight: 2
region: content
links:
settings: { }
@@ -7,6 +7,7 @@ dependencies:
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
@@ -58,7 +59,16 @@ content:
from_to: both
separator: '-'
third_party_settings: { }
weight: 2
weight: 3
region: content
field_evenement_s_lie_s:
type: entity_reference_entity_view
label: above
settings:
view_mode: calendrier
link: false
third_party_settings: { }
weight: 9
region: content
field_fichiers:
type: file_default
@@ -66,7 +76,7 @@ content:
settings:
use_description_as_link_text: true
third_party_settings: { }
weight: 9
weight: 6
region: content
field_images:
type: image_caption
@@ -77,7 +87,7 @@ content:
image_loading:
attribute: lazy
third_party_settings: { }
weight: 10
weight: 11
region: content
field_infos_pratiques:
type: text_default
@@ -100,22 +110,23 @@ content:
settings:
link: false
third_party_settings: { }
weight: 6
weight: 7
region: content
field_portage:
type: list_default
label: above
settings: { }
third_party_settings: { }
weight: 7
weight: 8
region: content
field_projet_s_lie_s:
type: entity_reference_label
type: entity_reference_entity_view
label: above
settings:
link: true
view_mode: lie
link: false
third_party_settings: { }
weight: 8
weight: 10
region: content
field_type_de_projet:
type: entity_reference_label
@@ -123,7 +134,7 @@ content:
settings:
link: true
third_party_settings: { }
weight: 3
weight: 2
region: content
hidden:
langcode: true
@@ -0,0 +1,93 @@
uuid: c2f9023f-0a4d-4ad1-9515-616f1fae1f72
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.lie
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
- field.field.node.projet.field_invite_accompagne_curate_p
- field.field.node.projet.field_partenaire_s
- field.field.node.projet.field_portage
- field.field.node.projet.field_projet_s_lie_s
- field.field.node.projet.field_type_de_projet
- image.style.large
- node.type.projet
module:
- advanced_text_formatter
- image_delta_formatter
- layout_builder
- user
third_party_settings:
layout_builder:
enabled: false
allow_custom: false
id: node.projet.lie
targetEntityType: node
bundle: projet
mode: lie
content:
body:
type: advanced_text
label: hidden
settings:
trim_length: '100'
ellipsis: '1'
word_boundary: '1'
link_to_entity: '1'
filter: input
format: plain_text
allowed_html:
- a
- b
- br
- dd
- dl
- dt
- em
- i
- li
- ol
- p
- strong
- u
- ul
use_summary: 0
token_replace: 0
autop: 0
third_party_settings: { }
weight: 1
region: content
field_images:
type: image_delta_formatter
label: hidden
settings:
deltas:
- 0
deltas_reversed: false
image_link: content
image_style: large
image_loading:
attribute: lazy
third_party_settings: { }
weight: 0
region: content
hidden:
field_artiste_s_invite_s: true
field_dates: true
field_evenement_s_lie_s: true
field_fichiers: true
field_infos_pratiques: true
field_invite_accompagne_curate_p: true
field_partenaire_s: true
field_portage: true
field_projet_s_lie_s: true
field_type_de_projet: true
langcode: true
links: true
search_api_excerpt: true
@@ -7,6 +7,7 @@ dependencies:
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
@@ -82,6 +83,7 @@ content:
weight: 3
region: content
hidden:
field_evenement_s_lie_s: true
field_fichiers: true
field_infos_pratiques: true
field_invite_accompagne_curate_p: true
@@ -7,6 +7,7 @@ dependencies:
- field.field.node.projet.body
- field.field.node.projet.field_artiste_s_invite_s
- field.field.node.projet.field_dates
- field.field.node.projet.field_evenement_s_lie_s
- field.field.node.projet.field_fichiers
- field.field.node.projet.field_images
- field.field.node.projet.field_infos_pratiques
@@ -73,6 +74,7 @@ content:
region: content
hidden:
field_dates: true
field_evenement_s_lie_s: true
field_fichiers: true
field_invite_accompagne_curate_p: true
field_partenaire_s: true
@@ -0,0 +1,11 @@
uuid: b8b1728c-a891-4823-9302-05a50e10454a
langcode: fr
status: true
dependencies:
module:
- node
id: node.lie
label: Lié
description: ''
targetEntityType: node
cache: true
@@ -0,0 +1,29 @@
uuid: 5a23a8c7-5d7b-4f95-ac25-0e0d54bf81ae
langcode: fr
status: true
dependencies:
config:
- field.storage.node.field_evenement_s_lie_s
- node.type.evenement
- node.type.projet
id: node.projet.field_evenement_s_lie_s
field_name: field_evenement_s_lie_s
entity_type: node
bundle: projet
label: 'Évenement(s) lié(s)'
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:node'
handler_settings:
target_bundles:
evenement: evenement
sort:
field: _none
direction: ASC
auto_create: false
auto_create_bundle: ''
field_type: entity_reference
@@ -0,0 +1,19 @@
uuid: 11b1c707-3204-46a0-ab41-e7a7fe25a7cd
langcode: fr
status: true
dependencies:
module:
- node
id: node.field_evenement_s_lie_s
field_name: field_evenement_s_lie_s
entity_type: node
type: entity_reference
settings:
target_type: node
module: core
locked: false
cardinality: -1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
+626 -24
View File
@@ -192,6 +192,404 @@ display:
- user.permissions
tags:
- 'config:field.storage.node.field_dates'
embed_1:
id: embed_1
display_title: 'Évenement (passés) [Intégré]'
display_plugin: embed
position: 2
display_options:
title: 'Les Évenments passés'
fields:
field_dates_1:
id: field_dates_1
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: month
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_custom
settings:
timezone_override: ''
date_format: m
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_dates_2:
id: field_dates_2
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: year
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_custom
settings:
timezone_override: ''
date_format: 'y'
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
nothing:
id: nothing
table: views
field: nothing
relationship: none
group_type: group
admin_label: ''
plugin_id: custom
label: ''
exclude: false
alter:
alter_text: true
text: '<span class="month">{{ field_dates_1 }}</span>.<span class="year">{{ field_dates_2 }}</span>'
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: false
sorts:
field_dates_value:
id: field_dates_value
table: node__field_dates
field: field_dates_value
relationship: none
group_type: group
admin_label: ''
plugin_id: datetime
order: DESC
expose:
label: ''
field_identifier: ''
exposed: false
granularity: second
arguments:
tid:
id: tid
table: taxonomy_index
field: tid
relationship: none
group_type: group
admin_label: ''
plugin_id: taxonomy_index_tid
default_action: ignore
exception:
value: all
title_enable: false
title: All
title_enable: true
title: 'Les événements | {{ arguments.tid }}'
default_argument_type: fixed
default_argument_options:
argument: ''
summary_options:
base_path: ''
count: true
override: false
items_per_page: 25
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
break_phrase: false
add_table: false
require_value: false
reduce_duplicates: false
filters:
status:
id: status
table: node_field_data
field: status
entity_type: node
entity_field: status
plugin_id: boolean
value: '1'
group: 1
expose:
operator: ''
type:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: type
plugin_id: bundle
operator: in
value:
evenement: evenement
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
operator_limit_selection: false
operator_list: { }
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
reduce: false
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
field_dates_end_value:
id: field_dates_end_value
table: node__field_dates
field: field_dates_end_value
relationship: none
group_type: group
admin_label: ''
plugin_id: datetime
operator: '<'
value:
min: ''
max: ''
value: today
type: offset
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
operator_limit_selection: false
operator_list: { }
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
min_placeholder: ''
max_placeholder: ''
placeholder: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
filter_groups:
operator: AND
groups:
1: AND
style:
type: default
options:
grouping:
-
field: nothing
rendered: true
rendered_strip: false
row_class: ''
default_row_class: true
uses_fields: true
row:
type: 'entity:node'
options:
relationship: none
view_mode: calendrier
defaults:
title: false
css_class: false
style: false
row: false
fields: false
sorts: false
arguments: false
filters: false
filter_groups: false
header: false
css_class: 'views-archives views-archives-evenements'
display_description: ''
header:
area:
id: area
table: views
field: area
relationship: none
group_type: group
admin_label: ''
plugin_id: text
empty: false
content:
value: 'Événements passés'
format: wysiwyg
tokenize: false
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- 'user.node_grants:view'
- user.permissions
tags:
- 'config:field.storage.node.field_dates'
page_1:
id: page_1
display_title: 'Page Projets'
@@ -410,21 +808,21 @@ display:
tags: { }
page_2:
id: page_2
display_title: 'Page Évenements'
display_title: 'Page Évenements (futures)'
display_plugin: page
position: 2
display_options:
title: 'Les Évenments'
title: 'Les Évenements à venir'
fields:
field_dates:
id: field_dates
field_dates_1:
id: field_dates_1
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
label: month
exclude: false
alter:
alter_text: false
@@ -457,6 +855,138 @@ display:
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_custom
settings:
timezone_override: ''
date_format: m
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_dates_2:
id: field_dates_2
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: year
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_custom
settings:
timezone_override: ''
date_format: 'y'
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
nothing:
id: nothing
table: views
field: nothing
relationship: none
group_type: group
admin_label: ''
plugin_id: custom
label: ''
exclude: false
alter:
alter_text: true
text: '<span class="month">{{ field_dates_1 }}</span>.<span class="year">{{ field_dates_2 }}</span>'
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
@@ -464,24 +994,22 @@ display:
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_default
settings:
timezone_override: ''
format_type: m_y
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
hide_alter_empty: false
sorts:
field_dates_value:
id: field_dates_value
table: node__field_dates
field: field_dates_value
relationship: none
group_type: group
admin_label: ''
plugin_id: datetime
order: ASC
expose:
label: ''
field_identifier: ''
exposed: false
granularity: second
arguments:
tid:
id: tid
@@ -573,6 +1101,51 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
field_dates_end_value:
id: field_dates_end_value
table: node__field_dates
field: field_dates_end_value
relationship: none
group_type: group
admin_label: ''
plugin_id: datetime
operator: '>='
value:
min: ''
max: ''
value: today
type: offset
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
operator_limit_selection: false
operator_list: { }
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
min_placeholder: ''
max_placeholder: ''
placeholder: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
filter_groups:
operator: AND
groups:
@@ -582,7 +1155,7 @@ display:
options:
grouping:
-
field: field_dates
field: nothing
rendered: true
rendered_strip: false
row_class: ''
@@ -599,11 +1172,40 @@ display:
style: false
row: false
fields: false
sorts: false
arguments: false
filters: false
filter_groups: false
header: false
footer: false
css_class: 'views-archives views-archives-evenements'
display_description: ''
header:
area:
id: area
table: views
field: area
relationship: none
group_type: group
admin_label: ''
plugin_id: text
empty: false
content:
value: 'Événements à venir'
format: wysiwyg
tokenize: false
footer:
view:
id: view
table: views
field: view
relationship: none
group_type: group
admin_label: ''
plugin_id: view
empty: true
view_to_insert: 'archives:embed_1'
inherit_arguments: true
display_extenders: { }
path: evenements
menu:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -329,7 +329,7 @@ gsap.registerPlugin(ScrollTrigger);
function initFsLightbox(){
console.log('initFsLightbox');
// console.log(window.FsLightbox);
let imgs_links = document.querySelectorAll('article.node-type-projet.view-mode-full .field_images.multiple .field-item a');
let imgs_links = document.querySelectorAll('article.node-type-projet.view-mode-full .col.right .field_images.multiple .field-item a');
for (const link of imgs_links) {
link.setAttribute("data-fslightbox", "gallery")
}
+2 -2
View File
@@ -13,9 +13,9 @@ const TITLE_SELECTORS = '\
article.node-type-projet.view-mode-full h2.node-title,\
article.node-type-evenement>header>h2,\
article.node-type-evenement.view-mode-full h2.node-title,\
article.node-type-evenement.view-mode-calendrier h2.node-title,\
div.views-archives-evenements > h3 > time\
article.node-type-evenement.view-mode-calendrier h2.node-title\
';
// div.views-archives-evenements > h3 > time\
// Police Epilogue = axe variable `wght` (100–900) uniquement ; l'italique est
// un fichier séparé (font-style).
@@ -0,0 +1,79 @@
@use "../abstracts/variables" as *;
@use "fluid" as *;
@use "../abstracts/event-date-time" as *;
@mixin event_calendar(){
// @include evenementListe();
border-top: 1px solid #ccc;
padding: 2em 0 1em 0;
display: flex;
flex-direction: row;
gap: 1em;
header{
flex:0 1 auto;
// width: 5em;
padding:0 1em 0 0;
.field_dates{
@include event-date-time(5em);
flex-direction: column;
align-items: center;
gap: 0.6em;
span.date-sep{
display: block;
width: 1em;
height: 0;
overflow: visible;
transform-origin: center;
transform: rotate(90deg) translateX(0.1em);
line-height: 0;
padding: 0;
}
}
}
section.content{
flex:1 1 auto;
h2.node-title{
font-size: 3em;
}
div.field_artiste_s_invite_s{
font-size: fluid-clamp(1.8rem, $min: 1.134rem);
.field-item{
display: inline-block;
&:not(:last-child)::after{
content: ", ";
}
}
}
div.field_type_d_evenement{
.field-item{
font-weight: 400;
}
}
}
section.last-cel{
flex:0 1 auto;
.field_images{
a{
display: block;
width: 12em;
height: 12em;
overflow: hidden;
img{
width: 100%;
height: 100%;
object-fit:contain;
object-position: top right;
}
}
}
}
}
@@ -46,3 +46,8 @@ $layout-anchor: 1112px;
@function fluid-clamp($size, $at: $layout-anchor, $min: 0px) {
@return clamp(#{px($min)}, #{vw-at($size, $at)}, #{px($size)});
}
// Tokens dérivés : tailles de référence passées en fluide. Le plancher est
// un choix de design — 70px à l'ancrage et au-dessus (desktop inchangé),
// 56px au plus bas (téléphone).
$header-height-fluid: fluid-clamp($header_height, $min: 60px);
@@ -6,8 +6,181 @@
@use "variables" as *;
@use "fluid" as *;
@use "../abstracts/nodes-on-liste" as *;
@use "../abstracts/event-calendrier" as *;
@mixin nodefull{
div.cols{
div.col{
&.left{
z-index: 10;
// padding-bottom: 5em;
// box-sizing: border-box;
>header{
// transform-origin: 0 0;
// width: 205%;//calc(50% - $colsgap / 2);
// z-index: 100;
// pointer-events: none;
>h2.node-title{
position: relative;
// font-size: 12em;
// font-size: fluid-clamp(12rem, $min: 8rem);
margin: 0;
&.leshed-svg-export-target{
pointer-events: painted;
}
}
}
.field{
margin-bottom: 1rem;
.field-item{
font-weight: 400;
}
}
.field_artiste_s_invite_s{
// font-size: 1.8em;
font-size: fluid-clamp(1.8rem, $min: 1.134rem);
.field-item{
font-weight: 300;
display: inline-block;
&:not(:last-child):after{
content:", ";
}
}
}
.field_invite_accompagne_curate_p,
.field_partenaire_s{
// margin-top: 1em;
font-weight: 400;
.field-label{
font-weight: $default_fwght;
}
// >div{
// display: inline-block;
// }
}
// Pas de marge basse sur le type de projet s'il est immédiatement
// suivi des dates : l'écart de 16px mesuré venait d'ici.
// NB : :has(+ …) — la marge appartient au PRÉCÉDENT, le combinateur
// seul (field_type + field_dates) ne pourrait cibler que le suivant.
div.field_type_de_projet:has(+ div.field_dates){
margin-bottom: 0;
}
.field_dates{
time{
font-weight: 400;
}
}
div.field_projet_s_lie_s{
// margin-top: 2em;
// .field-label{
// margin-bottom: 1em;
// }
>.field-items.multiple{
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: $colsgap;
>.field-item{
flex: 1 0 calc(50% - $colsgap / 2);
max-width: calc(50% - $colsgap / 2);
>article{
@include projetOnListe();
>header{
>h2{
font-size: 3em;
}
}
.field_artiste_s_invite_s{
font-size: 1.134em;
}
}
}
}
}
div.field_evenement_s_lie_s{
article.node-type-evenement.view-mode-calendrier{
@include event_calendar();
>section.content{
>h2.node-title{
font-size: 2.68em;
}
div.field{
margin:0;
p{ margin:0;}
}
}
>section.last-cel{
display: none;
}
}
}
>div.spacer{
display: block;
height: 5em;
}
}
&.right{
.field_images{
.field-item{
position: relative;
margin-bottom: 1em;
figure{
margin: 0;
a{
display: block;
line-height: 0;
img{
width: 100%;
max-width: 100%;
height: auto;
}
}
figcaption.image-field-caption{
margin: 0;
display: block;
// border: 1px solid red;
blockquote{
width: 100%;
margin: 0;
background-color: rgb(30,30,30);
color: #fff;
pointer-events: none;
p{
margin: 0;
padding: 1em;
font-weight: 300;
font-size: 0.8em;
}
}
}
}
&:hover{
z-index:200;
}
}
}
}
}
}
// ONLY FOR DESKTOP
@media (min-width:769px){
div.cols{
display: flex;
flex-direction: row;
@@ -18,9 +191,6 @@
max-width: calc(50% - $colsgap / 2);
&.left{
z-index: 10;
// padding-bottom: 5em;
// box-sizing: border-box;
>header{
transform-origin: 0 0;
width: 205%;//calc(50% - $colsgap / 2);
@@ -28,43 +198,16 @@
pointer-events: none;
>h2.node-title{
position: relative;
// font-size: 12em;
font-size: fluid-clamp(12rem, $min: 8rem);
margin: 0;
&.leshed-svg-export-target{
pointer-events: painted;
}
}
}
.field_artiste_s_invite_s{
font-size: 1.8em;
font-weight: 300;
}
.field_invite_accompagne_curate_p,
.field_partenaire_s{
margin-top: 1em;
font-weight: 400;
.field-label{
font-weight: $default_fwght;
}
// >div{
// display: inline-block;
// .field_artiste_s_invite_s{
// // font-size: 1.8em;
// font-size: fluid-clamp(1.8rem, $min: 1rem);
// font-weight: 300;
// }
}
.field_dates{
margin-top: 1em;
time{
font-weight: 400;
}
}
>div.spacer{
display: block;
height: 5em;
}
}
&.right{
// Étire .field_images sur toute la hauteur de la colonne (= colonne la
// plus haute, via le stretch de .cols) : le contexte de collage sticky
@@ -85,61 +228,26 @@
// en JS (voir main.js, adjustStickyContext) via --sticky-extent.
height: var(--sticky-extent, 100vh);
}
// }
.field-item{
position: relative;
// Empilement "cartes" : chaque image se fige au même endroit (haut) et
// est recouverte par la suivante (l'ordre du DOM fait que la dernière
// passe au-dessus). La 1re image ne bouge pas. Desktop uniquement.
@media (min-width: 768px){
position: sticky;
// margin-bottom: 0;
top: 0;
// &:last-child:after{
// content: "";
// // position: relative;
// display:block;
// // blockquote.image-field-caption{
// height: 100vh;
// width:100%;
// border: 1px solid red;
// // }
// }
}
figure{
margin: 0;
a{
display: block;
img{
width: 100%;
max-width: 100%;
height: auto;
}
}
figcaption.image-field-caption{
margin: 0;
position: absolute;
bottom: 0; left: 0;
height: 5em;
width: 100%;
overflow: visible;
display: block;
// border: 1px solid red;
blockquote{
position: absolute;
bottom: 0; left: 0;
width: 100%;
margin: 0;
background-color: rgba(0,0,0,0.65);
color: #fff;
pointer-events: none;
p{
margin: 0;
padding: 1em;
font-weight: 300;
font-size: 0.8em;
}
opacity: 0;
transition: opacity 0.3s ease-in-out;
background-color: rgba(0,0,0,0.65);
}
&:hover{
// z-index:200;
@@ -148,18 +256,78 @@
}
}
}
}
}
}
}
}
}
}
// ONLY FOR MOBILE
@media (max-width:768px){
div.cols{
display: flex;
flex-direction: column;
// Colonnes et conteneur d'images rendus transparents : chaque .field-item
// devient un item direct de .cols, librement ordonnable — l'image extraite
// est DÉPLACÉE (une seule occurrence dans le DOM, zéro octet en double).
div.col,
div.col.right .field_images{
display: contents;
}
div.col.left > header{
order: 1;
}
// Première image remontée sous le titre.
div.col.right .field_images .field-item:first-child{
order: 2;
}
// Le reste du contenu de la colonne gauche.
div.col.left > :not(header):not(.spacer){
order: 3;
}
// Les autres images, en fin de page.
div.col.right .field_images .field-item:not(:first-child){
order: 5;
}
div.col.left > div.field_fichiers{
order: 6;
}
div.col.left > div.field_partenaire_s{
order:7;
}
div.col.left > div.field_evenement_s_lie_s{
order: 8;
}
div.col.left > div.field_projet_s_lie_s{
order: 9;
}
// NB : div.spacer (et pas .spacer) — la règle de base `>div.spacer{display:block}`
// a une spécificité de (0,4,5) : `.spacer` seul (0,4,4) perdait le cascade
// malgré l'ordre. Égaler la spécificité, laisser la cascade trancher.
div.col.left > div.spacer{
order:20;
}
&:hover{
z-index:200;
div.col{
&.left{
>header{
>h2.node-title{
font-size: 5em;
// font-size: fluid-clamp(12rem, $min: 8rem);
}
}
// .field_artiste_s_invite_s{
// .field-item{
// display: inline-block;
// &:not(:last-child):after{
// content:", ";
// }
// }
// }
}
}
}
}
}
}
}
}
@@ -6,6 +6,7 @@
// \_| |_/\___|\__,_|\__,_|\___|_|
@use "../abstracts/variables" as *;
@use "../abstracts/fluid" as *;
header[role="banner"]{
@@ -77,7 +78,7 @@ header[role="banner"]{
// .layout-container : sinon le débord pleine largeur (et donc le
// backdrop-filter) est rogné aux bords du conteneur centré.
position:fixed;
top:$header_height;
top:$header-height-fluid;
left: 0;
width:100vw;
padding: 0 calc((100vw - $layout_width) / 2) 0 calc((100vw - $layout_width) / 2);
@@ -89,7 +90,7 @@ header[role="banner"]{
overflow: hidden;
transition-duration: 0.5s;
&[opened]{
height: calc(100vh - $header_height);
height: calc(100vh - $header-height-fluid);
}
nav#block-leshed-navigationprincipale{
// width: $layout_width;
@@ -8,6 +8,7 @@
// |___/
@use "../abstracts/variables" as *;
@use "../abstracts/fluid" as *;
div.layout-container{
@@ -22,13 +23,13 @@ div.layout-container{
display: block;
position: relative;
padding: 0.5em 0;
flex: 1 1 $header_height;
flex: 1 1 $header-height-fluid;
z-index: 100;
// position: fixed;
// top:0;
// width: 100%;
height: $header_height;
min-height: $header_height;
height: $header-height-fluid;
min-height: $header-height-fluid;
}
main[role="main"]{
flex: 1 1 auto;
@@ -18,16 +18,6 @@ article.node-type-evenement.view-mode-full{
@include event-date-time();
}
div.field_projet_s_lie_s{
margin-top: 2em;
.field-label{
margin-bottom: 1em;
}
article.node-type-projet.view-mode-tableau_liste{
@include projetOnListe();
}
}
}
@@ -4,68 +4,25 @@
// \ V / | | __/\ V V /\__ \ / ___ \| | | (__| | | | |\ V / __/\__ \ | |___ \ V / __/ | | | __/ | | | | | __/ | | | |_\__ \
// \_/ |_|\___| \_/\_/ |___/ /_/ \_\_| \___|_| |_|_| \_/ \___||___/ |_____| \_/ \___|_| |_|\___|_| |_| |_|\___|_| |_|\__|___/
@use "../abstracts/variables" as *;
@use "../abstracts/event-date-time" as *;
@use "../abstracts/event-calendrier" as *;
div.views-archives-evenements {
& > h3{
border-bottom: 1px solid #999;
// border-bottom: 1px solid #999;
margin-bottom: 0;
font-size: 2em;
font-weight: 200;
span.month{
font-weight: 100;
}
span.year{
font-weight: 400;
}
}
article.node-type-evenement.view-mode-calendrier{
// @include evenementListe();
display: flex;
flex-direction: row;
gap: 1em;
header{
flex:0 1 auto;
// width: 5em;
padding:0 1em 0 0;
.field_dates{
@include event-date-time(5em);
flex-direction: column;
align-items: center;
gap: 0.6em;
span.date-sep{
display: block;
width: 1em;
height: 0;
overflow: visible;
transform-origin: center;
transform: rotate(90deg) translateX(0.1em);
line-height: 0;
padding: 0;
}
}
}
section.content{
flex:0 1 auto;
h2.node-title{
font-size: 3em;
}
}
section.last-cel{
flex:0 1 auto;
.field_images{
a{
display: block;
width: 12em;
height: 12em;
overflow: hidden;
img{
width: 100%;
height: 100%;
object-fit:contain;
object-position: top left;
}
}
}
}
@include event_calendar();
}
}
@@ -13,12 +13,7 @@ div.views-archives-projets{
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 2em;
gap: $colsgap;
div.views-row{
flex: 1 0 calc(25% - $colsgap);
width: calc(25% - $colsgap);
}
article.node-type-projet.view-mode-tableau_liste{
@@ -30,6 +25,28 @@ div.views-archives-projets{
}
}
// ONLY FOR DESKTOP
@media (min-width:769px){
// gap: 2em;
gap: $colsgap;
div.views-row{
flex: 1 0 calc(25% - $colsgap);
width: calc(25% - $colsgap);
}
}
// ONLY FOR MOBILE
@media (max-width:768px){
// gap: 2em;
gap: $colsgap;
div.views-row{
flex: 1 0 calc(50% - $colsgap);
width: calc(50% - $colsgap);
}
}
}
form#views-exposed-form-archives-page-1{
div.bef-links{
@@ -46,18 +46,18 @@
{% if label_hidden %}
{% if multiple %}
<div{{ attributes.addClass("field-items").addClass("multiple") }}>
<div{{ attributes.addClass("field").addClass("field-items").addClass("multiple") }}>
{% for item in items %}
<div{{ item.attributes.addClass("field-item") }}>{{ item.content }}</div>
{% endfor %}
</div>
{% else %}
{% for item in items %}
<div{{ attributes.addClass("field-item") }}>{{ item.content }}</div>
<div{{ attributes.addClass("field").addClass("field-item") }}>{{ item.content }}</div>
{% endfor %}
{% endif %}
{% else %}
<div{{ attributes }}>
<div{{ attributes.addClass("field") }}>
<div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
{% if multiple %}
<div class="field-items multiple">
@@ -0,0 +1,89 @@
{#
/**
* @file
* Default theme implementation to display a node.
*
* Available variables:
* - node: The node entity with limited access to object properties and methods.
* Only method names starting with "get", "has", or "is" and a few common
* methods such as "id", "label", and "bundle" are available. For example:
* - node.getCreatedTime() will return the node creation timestamp.
* - node.hasField('field_example') returns TRUE if the node bundle includes
* field_example. (This does not indicate the presence of a value in this
* field.)
* - node.isPublished() will return whether the node is published or not.
* Calling other methods, such as node.delete(), will result in an exception.
* See \Drupal\node\Entity\Node for a full list of public properties and
* methods for the node object.
* - label: (optional) The title of the node.
* - content: All node items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - author_picture: The node author user entity, rendered using the "compact"
* view mode.
* - metadata: Metadata for this node.
* - date: (optional) Themed creation date field.
* - author_name: (optional) Themed author name field.
* - url: Direct URL of the current node.
* - display_submitted: Whether submission information should be displayed.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - node: The current template type (also known as a "theming hook").
* - node--type-[type]: The current node type. For example, if the node is an
* "Article" it would result in "node--type-article". Note that the machine
* name will often be in a short form of the human readable label.
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
* teaser would result in: "node--view-mode-teaser", and
* full: "node--view-mode-full".
* The following are controlled through the node publishing options.
* - node--promoted: Appears on nodes promoted to the front page.
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
* teaser listings.
* - node--unpublished: Appears on unpublished nodes visible only to site
* admins.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - author_attributes: Same as attributes, except applied to the author of
* the node tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - view_mode: View mode; for example, "teaser" or "full".
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
*
* @see template_preprocess_node()
*
* @ingroup themeable
*/
#}
{#
{% if content.field_images.getvalue|length %}
{% set attributes = attributes.addClass('has-image') %}
{% endif %} #}
<article{{ attributes }}>
{# {{ title_prefix }} #}
{# {% if label and not page %} #}
<header>
<h2{{ title_attributes }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{{ content.field_images }}
</header>
{# {% endif %} #}
{# {{ title_suffix }} #}
<div{{ content_attributes }}>
{{ content|without('field_images') }}
</div>
</article>