maj config : création view pages static, modale réactive contenu soit static soit etape

This commit is contained in:
Valentin 2024-07-31 00:33:21 +02:00
parent c9ff3e45d7
commit 35ec4a8388
55 changed files with 1179 additions and 221 deletions

View File

@ -4,5 +4,5 @@ status: true
dependencies: { }
id: logo_link
label: 'Logo link'
revision: 0
revision: false
description: ''

View File

@ -1,5 +1,5 @@
_core:
default_config_hash: AF4cxceuiw6dhwOrF9ZgpyKC4xsWt4Yhvohb3WNgn8o
langcode: fr
auto_import: { }
auto_export: { }
langcode: fr

View File

@ -37,7 +37,7 @@ third_party_settings:
label: Details
region: content
parent_name: ''
weight: 7
weight: 5
format_type: details_sidebar
format_settings:
classes: ''
@ -55,7 +55,7 @@ mode: default
content:
field_adresse:
type: address_default
weight: 4
weight: 0
region: content
settings: { }
third_party_settings: { }
@ -74,7 +74,7 @@ content:
third_party_settings: { }
field_galleries:
type: entity_reference_autocomplete
weight: 6
weight: 4
region: content
settings:
match_operator: CONTAINS
@ -84,14 +84,14 @@ content:
third_party_settings: { }
field_geofield:
type: geofield_latlon
weight: 26
weight: 6
region: content
settings:
html5_geolocation: false
third_party_settings: { }
field_parties:
type: paragraphs
weight: 5
weight: 3
region: content
settings:
title: Paragraphe
@ -145,7 +145,7 @@ content:
third_party_settings: { }
field_vignette:
type: image_image
weight: 3
weight: 2
region: content
settings:
progress_indicator: throbber
@ -173,7 +173,7 @@ content:
third_party_settings: { }
title:
type: string_textfield
weight: 0
weight: 1
region: content
settings:
size: 60

View File

@ -1,8 +1,8 @@
_core:
default_config_hash: IDzCy0l7vH5sENShziSE_TwGo7oDfS1yB4c26KU6WnE
langcode: fr
toolbar_items:
- devel.cache_clear
- devel.phpinfo
- devel.run_cron
- devel.theme_registry
langcode: fr

View File

@ -38,7 +38,7 @@ image_upload:
status: true
scheme: public
directory: inline-images
max_size: ''
max_size: null
max_dimensions:
width: 0
height: 0
width: null
height: null

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: k024s6lEcCjGqAq_82KNi-RRCCc37Jxo5frFNChAqao
login_with_username: false
langcode: fr
login_with_username: false

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: zZhJs6wF6FMXjS8njswFvmbk2XEGcj0nLI-mZCfAoFs
field_prefix: field_
langcode: fr
field_prefix: field_

View File

@ -1,9 +1,9 @@
_core:
default_config_hash: _5293QOM-Perj4qDT33F4EmNlI9Ge0bNd_WYrZilDPA
langcode: fr
description:
type: textfield
length: 128
icon:
directory: core/modules/file/icons
langcode: fr
make_unused_managed_files_temporary: false

View File

@ -1,5 +1,5 @@
_core:
default_config_hash: lbxA85k_ynsRFrQ1JCNbgazSNG5GTs5aoOSL0W-UsvM
langcode: fr
fallback_format: plain_text
always_show_fallback_choice: false
langcode: fr

View File

@ -1,12 +1,13 @@
_core:
default_config_hash: MkRrI2YYk2oy2dBC48Sfb-SPN2Nf9xNMJedYjbsBUFw
langcode: fr
protect_all_forms: false
unprotected_forms:
- user_login_form
- search_form
- search_block_form
- views_exposed_form
- honeypot_settings_form
protect_all_forms: false
log: true
element_name: url
time_limit: 5
@ -20,4 +21,3 @@ form_settings:
node_fil_form: false
node_page_form: false
node_static_form: false
langcode: fr

View File

@ -1,6 +1,6 @@
_core:
default_config_hash: 7CnygMhc8yrEJGdPf_5QRmPsMvr4QoXlsmMo3te3nbw
langcode: fr
preview_image: core/modules/image/sample.png
allow_insecure_derivatives: false
suppress_itok_output: false
langcode: fr

View File

@ -1,6 +1,6 @@
_core:
default_config_hash: UA1LGT2916TE3VyHCdi_cD-GPCb6ilm9KluygCKnqOI
langcode: fr
send: false
log: true
verbose: true
langcode: fr

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: ENUzSsLjtl0THWvptK2LZ7BJtRbb032hiy3VTvjR7Pw
override_parent_selector: false
langcode: fr
override_parent_selector: false

View File

@ -10,8 +10,8 @@ third_party_settings:
parent: ''
name: Étape
type: etape
description: ''
help: ''
description: null
help: null
new_revision: true
preview_mode: 0
display_submitted: false

View File

@ -10,8 +10,8 @@ third_party_settings:
parent: ''
name: 'Gallerie Photo'
type: gallerie_photo
description: ''
help: ''
description: null
help: null
new_revision: true
preview_mode: 0
display_submitted: false

View File

@ -13,7 +13,7 @@ _core:
name: Static
type: static
description: 'Static Page'
help: ''
help: null
new_revision: true
preview_mode: 0
display_submitted: false

View File

@ -1,5 +1,6 @@
_core:
default_config_hash: QDedIRjSYDH1ZiuQZ1LIkF9_wOwsokd_Cidr-mXA25E
langcode: fr
enabled_entity_types:
- user
punctuation:
@ -44,7 +45,6 @@ reduce_ascii: false
case: true
ignore_words: 'a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with'
update_action: 2
langcode: fr
safe_tokens:
- alias
- alias

View File

@ -1,10 +1,10 @@
_core:
default_config_hash: 8GufBtaRPlip9zXBTr8vzOQOHnvtFyi4xLV7si356oM
langcode: fr
protocol_style: full
local_paths: ''
scheme_whitelist:
- http
- https
- files
- internal
protocol_style: full
local_paths: ''

View File

@ -1,7 +1,7 @@
_core:
default_config_hash: '-ts6YP3HWiO8vbWrV8j1VxyAgtOrC6LJAT-lqw3GFpM'
langcode: fr
default_cron_limit: 50
cron_worker_runtime: 15
default_tracker: default
tracking_page_size: 100
langcode: fr

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: I7OvOT30AHPJTjtFh59agVjIr3wZ3fxIaTNefRF3-OQ
autocomplete_max_occurrences: 0.9
langcode: fr
autocomplete_max_occurrences: 0.9

View File

@ -1,7 +1,7 @@
_core:
default_config_hash: 0CLCLyauRdR7iXOd-8irNf7IzFv7I2DZKjqkIYwk2Yo
langcode: fr
threshold:
requirements_warning: 172800
requirements_error: 1209600
langcode: fr
logging: 1
logging: true

View File

@ -1,12 +1,12 @@
_core:
default_config_hash: GQGMdkmApapP8hCC1EBknnYV7rkIOfLs62l0ucgCkns
langcode: fr
first_day: 1
country:
default: FR
first_day: 1
timezone:
default: Europe/Paris
user:
configurable: false
warn: false
default: 0
langcode: fr
warn: false

View File

@ -1,6 +1,6 @@
_core:
default_config_hash: 7LA2fD9dNbf3WkO63uWgUshS6L-gq2vg8e9-ZUE6dq0
langcode: fr
context:
lines_leading: 2
lines_trailing: 2
langcode: fr

View File

@ -1,8 +1,8 @@
_core:
default_config_hash: iVCUEmCQO_uzT2ReHxUBVpC1NjO4I3wb8-zF1a4vyKI
langcode: fr
allow_insecure_uploads: false
default_scheme: public
path:
temporary: /tmp
temporary_maximum_age: 21600
langcode: fr

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: vWBxifROGDjDcIRD_9OAODkutkPss2kpPrFdCMNZU9g
error_level: hide
langcode: fr
error_level: hide

View File

@ -1,5 +1,6 @@
_core:
default_config_hash: bUb8UUGCJnZ5aiph4NCUr8rnJay_s8sKGe2JK_7_mzg
langcode: fr
cache:
page:
max_age: 0
@ -15,4 +16,3 @@ js:
preprocess: false
gzip: true
stale_file_threshold: 2592000
langcode: fr

View File

@ -1,8 +1,8 @@
_core:
default_config_hash: S5uQkVe5wkt0j4O7sfCxOPi4fX8a0aUfJd9o2bNfImM
langcode: fr
items:
view_mode: rss
limit: 10
channel:
description: ''
items:
limit: 10
view_mode: rss
langcode: fr

View File

@ -1,5 +1,6 @@
_core:
default_config_hash: jm-1OD80QyXhj_1lyq6IEPXdggFjmpWKrLGixMkbFcw
langcode: fr
favicon:
mimetype: image/vnd.microsoft.icon
path: ''
@ -14,4 +15,3 @@ logo:
path: ''
url: ''
use_default: true
langcode: fr

View File

@ -4,5 +4,6 @@ status: true
dependencies: { }
name: Saisons
vid: saisons
description: ''
description: null
weight: 0
new_revision: false

View File

@ -4,5 +4,6 @@ status: true
dependencies: { }
name: Thématiques
vid: thematiques
description: ''
description: null
weight: 0
new_revision: false

View File

@ -1,4 +1,4 @@
_core:
default_config_hash: LZ0H1Rt9gdNtb0VBlKOx7XC9_u4i3nEAyuWmmkld8Ao
default_summary_length: 600
langcode: fr
default_summary_length: 600

View File

@ -1,5 +1,6 @@
_core:
default_config_hash: g88bppZh2Uimhd8nWIoRyNIqCPNQ-ywV5hXa_f4Av8k
langcode: fr
check:
disabled_extensions: false
interval_days: 1
@ -11,4 +12,3 @@ notification:
emails:
- dev@figureslibres.io
threshold: all
langcode: fr

View File

@ -2,7 +2,6 @@ _core:
default_config_hash: RzCmzrx-T-Sy8JX5OmtGKV_V_MxRlrxRkrI9c9igTHI
langcode: fr
display_extenders: { }
skip_cache: false
sql_signature: false
ui:
show:
@ -47,3 +46,4 @@ field_rewrite_elements:
ins: INS
q: Q
s: S
skip_cache: false

View File

@ -29,6 +29,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0

View File

@ -273,6 +273,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0

View File

@ -249,6 +249,7 @@ display:
pager:
type: full
options:
pagination_heading_level: h4
items_per_page: 50
tags:
next: 'Next '

View File

@ -403,6 +403,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0

View File

@ -521,6 +521,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: 0
id: 0
@ -1056,6 +1057,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0

View File

@ -30,6 +30,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0

View File

@ -196,6 +196,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 36
total_pages: 0
id: 0

View File

@ -368,6 +368,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0

View File

@ -280,6 +280,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: null
id: 0

View File

@ -0,0 +1,862 @@
uuid: d1525da1-29fa-4b6f-be7b-14cfbbe80cf1
langcode: fr
status: false
dependencies:
config:
- field.storage.node.field_dates
- field.storage.node.field_geofield
- field.storage.node.field_vignette
- image.style.medium
- node.type.static
module:
- date_range_formatter
- geofield
- image
- leaflet_views
- node
- user
id: static
label: static
module: views
description: ''
tag: ''
base_table: node_field_data
base_field: nid
display:
default:
id: default
display_title: Default
display_plugin: default
position: 0
display_options:
title: étapes
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
make_link: false
absolute: false
word_boundary: false
ellipsis: false
strip_tags: false
trim: false
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: string
settings:
link_to_entity: true
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_geofield:
id: field_geofield
table: node__field_geofield
field: field_geofield
plugin_id: field
pager:
type: none
options:
offset: 0
items_per_page: 0
exposed_form:
type: basic
options:
submit_button: Appliquer
reset_button: false
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
access:
type: perm
options:
perm: 'access content'
cache:
type: tag
options: { }
empty: { }
sorts: { }
arguments:
field_thematiques_target_id:
id: field_thematiques_target_id
table: node__field_thematiques
field: field_thematiques_target_id
relationship: none
group_type: group
admin_label: ''
plugin_id: numeric
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: false
title: ''
default_argument_type: query_parameter
default_argument_options:
query_param: thematique
fallback: all
multiple: and
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
not: false
field_saison_target_id:
id: field_saison_target_id
table: node__field_saison
field: field_saison_target_id
relationship: none
group_type: group
admin_label: ''
plugin_id: numeric
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: false
title: ''
default_argument_type: query_parameter
default_argument_options:
query_param: saison
fallback: all
multiple: and
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
not: 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:
static: static
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: { }
style:
type: leaflet_map
options:
grouping: { }
data_source:
field_geofield: field_geofield
entity_source: __base_table
name_field: ''
leaflet_tooltip:
value: title
options: '{"permanent":false,"direction":"center"}'
leaflet_popup:
value: ''
options: '{"maxWidth":"300","minWidth":"50","autoPan":true}'
view_mode: teaser
leaflet_map: esri-world_imagery
height: '100'
height_unit: vh
hide_empty_map: false
disable_wheel: false
gesture_handling: false
fitbounds_options: '{"padding":[0,0]}'
reset_map:
control: false
options: '{"position":"topleft","title":"Reset View"}'
map_scale:
control: false
options: '{"position":"bottomright","maxWidth":100,"metric":true,"imperial":false,"updateWhenIdle":false}'
locate:
control: false
options: '{"position":"topright","setView":"untilPanOrZoom","returnToPrevBounds":true,"keepCurrentZoomLevel":true,"strings":{"title":"Locate my position"}}'
automatic: false
map_position:
force: false
center:
lat: 0.0
lon: 0.0
zoomControlPosition: topleft
zoom: 5
minZoom: 1
maxZoom: 18
zoomFiner: 0
weight: ''
icon:
iconType: marker
iconUrl: ''
shadowUrl: ''
className: ''
iconSize:
x: ''
'y': ''
iconAnchor:
x: ''
'y': ''
shadowSize:
x: ''
'y': ''
shadowAnchor:
x: ''
'y': ''
popupAnchor:
x: ''
'y': ''
html: '<div></div>'
html_class: leaflet-map-divicon
circle_marker_options: '{"radius":100,"color":"red","fillColor":"#f03","fillOpacity":0.5}'
leaflet_markercluster:
control: false
include_path: false
options: '{"spiderfyOnMaxZoom":true,"showCoverageOnHover":true,"removeOutsideVisibleBounds":false}'
excluded: '0'
fullscreen:
control: false
options: '{"position":"topleft","pseudoFullscreen":false}'
path: '{"color":"#3388ff","opacity":"1.0","stroke":true,"weight":3,"fill":"depends","fillColor":"*","fillOpacity":"0.2","radius":"6"}'
geocoder:
control: false
settings:
autocomplete:
placeholder: 'Search Address'
title: 'Search an Address on the Map'
position: topright
input_size: 20
providers:
mapquest:
weight: '0'
checked: 0
min_terms: 4
delay: 800
zoom: 16
popup: false
options: ''
map_lazy_load:
lazy_load: true
feature_properties:
values: ''
row:
type: fields
options:
default_field_elements: true
inline: { }
separator: ''
hide_empty: false
query:
type: views_query
options:
query_comment: ''
disable_sql_rewrite: false
distinct: false
replica: false
query_tags: { }
relationships: { }
header: { }
footer: { }
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_geofield'
block_1:
id: block_1
display_title: Liste
display_plugin: block
position: 1
display_options:
fields:
nid:
id: nid
table: node_field_data
field: nid
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: nid
plugin_id: field
label: ''
exclude: true
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: false
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: number_integer
settings:
thousand_separator: ''
prefix_suffix: true
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
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: true
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: false
ellipsis: false
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: 'data-node-{{ nid }}'
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: true
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
style:
type: html_list
options:
grouping: { }
row_class: ''
default_row_class: true
type: ul
wrapper_class: item-list
class: ''
row:
type: fields
options: { }
defaults:
style: false
row: false
fields: false
display_description: ''
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- 'user.node_grants:view'
- user.permissions
tags: { }
block_2:
id: block_2
display_title: Map
display_plugin: block
position: 2
display_options:
fields:
field_geofield:
id: field_geofield
table: node__field_geofield
field: field_geofield
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: true
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: false
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: geofield_default
settings:
output_format: wkt
output_escape: true
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:
id: field_dates
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: true
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: false
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: date_range_without_time
settings:
timezone_override: ''
one_day: 'd F Y'
one_month: 'd - {d} F Y'
several_months: 'd F - {d} {F} Y'
several_years: 'd F Y - {d} {F} {Y}'
single: 'd F Y'
single_all_day: 'd F Y'
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_vignette:
id: field_vignette
table: node__field_vignette
field: field_vignette
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: true
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: image
settings:
image_link: content
image_style: medium
image_loading:
attribute: lazy
group_column: ''
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_adresse_postal_code:
id: field_adresse_postal_code
table: node__field_adresse
field: field_adresse_postal_code
relationship: none
group_type: group
admin_label: ''
plugin_id: standard
label: ''
exclude: true
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: field
label: ''
exclude: false
alter:
alter_text: true
text: "{{ title }} ({{ field_adresse_postal_code }})\r\n{{ field_dates }}\r\n{{ field_vignette }}"
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: false
ellipsis: false
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: true
click_sort_column: value
type: string
settings:
link_to_entity: true
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
defaults:
fields: false
display_description: ''
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'
- 'config:field.storage.node.field_geofield'
- 'config:field.storage.node.field_vignette'

View File

@ -29,6 +29,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0

View File

@ -462,6 +462,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: 0
id: 0

View File

@ -440,6 +440,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0

View File

@ -1,9 +1,9 @@
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import '../scss/main.scss'
import Etape from './vuejs/Etape.vue'
import Modale from './vuejs/Modale.vue'
import { useEtapeStore } from './stores/etape';
import { useContentStore } from './stores/content';
// Working with the history API
// https://developer.mozilla.org/en-US/docs/Web/API/History_API/Working_with_the_History_API
@ -43,30 +43,45 @@ import { useEtapeStore } from './stores/etape';
}
function initVues(){
initVueEtapeModale();
initVueContentModale();
}
function initVueEtapeModale(){
const app = createApp(Etape).use(createPinia());
const store = useEtapeStore();
app.mount('#etape-modale');
function initVueContentModale(){
const app = createApp(Modale).use(createPinia());
const store = useContentStore();
app.mount('#content-modale');
processEtapeLinks(store);
processStaticLinks(store)
}
function onClickEtapeLink(e, store){
function onClickContentLink(e, store, category){
e.preventDefault();
let a = e.currentTarget;
let nid = a.dataset.nodeNid;
console.log(nid);
store.fetchEtapeData(nid);
if (category === 'etape') {
store.fetchEtapeData(nid);
} else if (category === 'static') {
store.fetchStaticData(nid);
}
return null;
}
function processStaticLinks(store){
let general_link_fields = document.querySelectorAll('#menu > ul > li > a');
for (let field of general_link_fields) {
let general_link_href = field.getAttribute('href');
const nid = general_link_href.charAt(general_link_href.length-1);
field.setAttribute('data-node-nid', nid);
field.addEventListener('click', (e) => onClickContentLink(e, store, 'static'));
}
}
function processEtapeLinks(store){
let etape_link_fields = document.querySelectorAll('#etapes-liste div.views-field-title');
@ -85,7 +100,7 @@ import { useEtapeStore } from './stores/etape';
if (nid) {
let a = field.querySelector('a');
a.setAttribute('data-node-nid', nid);
a.addEventListener('click', (e) => onClickEtapeLink(e, store));
a.addEventListener('click', (e) => onClickContentLink(e, store, 'etape'));
}

View File

@ -0,0 +1,109 @@
import { defineStore } from 'pinia';
import REST from '../api/rest-axios';
export const useContentStore = defineStore('content', {
state: () => ({
etape: {
href: '',
title: '',
adresse: {},
etape_number: '',
dates: {},
geofield: {},
galeries: [],
parties: [],
saison: {},
thematiques: [],
vignette: {},
},
page: {
href: '',
title: '',
text: '',
},
loading: false,
error: null,
}),
actions: {
async fetchEtapeData(nid) {
this.loading = true;
this.error = null;
this.page = {};
try {
const response = await REST.get(`/jsonapi/node/etape/`);
for (let etape of response.data.data) {
if (etape.attributes.drupal_internal__nid == nid) {
for (let metatag of etape.attributes.metatag) {
if (metatag.tag === "link") {
this.etape.href = metatag.attributes.href;
}
}
this.etape.title = etape.attributes.title;
this.etape.adresse = etape.attributes.field_adresse;
this.etape.etape_number = etape.attributes.field_arret_numero;
this.etape.dates = etape.attributes.field_dates;
this.etape.geofield = etape.attributes.field_geofield;
this.etape.galeries = await fetchEtapeContent('field_galleries', etape.relationships);
const partiesFetch = await fetchEtapeContent('field_parties', etape.relationships);
let partiesArray = []
for (let partie of partiesFetch) {
partiesArray.push({ title: partie.attributes.field_titre, text: partie.attributes.field_texte.value });
}
this.etape.parties = partiesArray;
this.etape.saison = await fetchEtapeContent('field_saison', etape.relationships);
this.etape.saison = await fetchEtapeContent('field_saison', etape.relationships);
this.etape.thematiques = await fetchEtapeContent('field_thematiques', etape.relationships);
const vignetteFetch = await fetchEtapeContent('field_vignette', etape.relationships);
this.etape.vignette = { url: vignetteFetch.attributes.uri.url, alt: etape.attributes.field_vignette_alt };
break;
}
}
} catch (error) {
this.error = 'Failed to fetch data';
console.error('Issue with getNodeData', error);
} finally {
this.loading = false;
}
},
async fetchStaticData(nid) {
this.loading = true;
this.error = null;
this.etape = {};
try {
const response = await REST.get(`/jsonapi/node/static/`);
for (let staticContent of response.data.data) {
if (staticContent.attributes.drupal_internal__nid == nid) {
staticContent.attributes.metatag.forEach(item => {
if (item.tag === 'meta') {
this.page.title = item.attributes.content;
}
if (item.tag === 'link') {
this.page.href = item.attributes.href;
}
})
this.page.text = staticContent.attributes.field_texte.value;
console.log(this.page.title, this.page.href, this.page.text);
}
}
} catch (error) {
this.error = 'Failed to fetch data';
console.error('Issue with getNodeData', error);
} finally {
this.loading = false;
}
},
},
});
async function fetchEtapeContent(field, relationships) {
if (relationships[field].data) {
try {
const contentLink = relationships[field].links.related.href;
const contentFetch = await REST.get(contentLink);
return contentFetch.data.data;
} catch (error) {
this.error = 'Failed to fetch data';
console.error('Issue with getNodeData', error);
}
}
}

View File

@ -1,75 +0,0 @@
import { defineStore } from 'pinia';
import REST from '../api/rest-axios';
export const useEtapeStore = defineStore('etape', {
state: () => ({
href: '',
title: '',
adresse: {},
etape_number: '',
dates: {},
geofield: {},
galeries: [],
parties: [],
saison: {},
thematiques: [],
vignette: {},
loading: false,
error: null,
}),
actions: {
async fetchEtapeData(nid) {
this.loading = true;
this.error = null;
try {
// const response = await REST.get(`/node/${nid}?_format=json`);
const response = await REST.get(`/jsonapi/node/etape/`);
for (let etape of response.data.data) {
if (etape.attributes.drupal_internal__nid == nid) {
for (let metatag of etape.attributes.metatag) {
if (metatag.tag === "link") {
this.href = metatag.attributes.href;
}
}
this.title = etape.attributes.title;
this.adresse = etape.attributes.field_adresse;
this.etape_number = etape.attributes.field_arret_numero;
this.dates = etape.attributes.field_dates;
this.geofield = etape.attributes.field_geofield;
this.galeries = await fetchEtapeContent('field_galleries', etape.relationships);
const partiesFetch = await fetchEtapeContent('field_parties', etape.relationships);
let partiesArray = []
for (let partie of partiesFetch) {
partiesArray.push({ title: partie.attributes.field_titre, text: partie.attributes.field_texte.value });
}
this.parties = partiesArray;
this.saison = await fetchEtapeContent('field_saison', etape.relationships);
this.saison = await fetchEtapeContent('field_saison', etape.relationships);
this.thematiques = await fetchEtapeContent('field_thematiques', etape.relationships);
const vignetteFetch = await fetchEtapeContent('field_vignette', etape.relationships);
this.vignette = { url: vignetteFetch.attributes.uri.url, alt: etape.attributes.field_vignette_alt };
break;
}
}
} catch (error) {
this.error = 'Failed to fetch data';
console.error('Issue with getNodeData', error);
} finally {
this.loading = false;
}
},
},
});
async function fetchEtapeContent(field, relationships) {
if (relationships[field].data) {
try {
const contentLink = relationships[field].links.related.href;
const contentFetch = await REST.get(contentLink);
return contentFetch.data.data;
} catch (error) {
this.error = 'Failed to fetch data';
console.error('Issue with getNodeData', error);
}
}
}

View File

@ -1,72 +0,0 @@
<template>
<div v-if="etape_number">
<header>
<h1>{{adresse.locality}}, {{ adresse.postal_code }}</h1>
<h2>{{title}}</h2>
<div>
<p>Étape n°{{etape_number}}</p>
<p>Du {{dates.value}} au {{ dates.end_value }}</p>
</div>
<img :src="vignette.url" :alt="vignette.alt">
</header>
<main>
<div v-for="partie in parties">
<h3 v-html="partie.title"></h3>
<p v-html="partie.text"></p>
</div>
</main>
<!--
<div v-if="loading">Loading...</div>
<div v-if="error">{{ error }}</div>
-->
<div><pre>{{href}}</pre></div>
<div><pre><b>GEOFIELD</b>{{geofield}}</pre></div>
<div><pre><b>GALERIES</b>{{galeries}}</pre></div>
<div><pre><b>PARTIES</b>{{parties}}</pre></div>
<div><pre><b>SAISON</b>{{saison}}</pre></div>
<div><pre><b>THEMATIQUES</b>{{thematiques}}</pre></div>
<div>
</div>
</div>
</template>
<script setup>
import { storeToRefs } from 'pinia';
import { useEtapeStore } from '../stores/etape';
const store = useEtapeStore();
const {
loading, error,
href,
title,
adresse,
etape_number,
dates,
geofield,
galeries,
parties,
saison,
thematiques,
vignette,
} = storeToRefs(store);
</script>
<style lang="scss">
header {
img {
width: 100%;
}
}
</style>

View File

@ -0,0 +1,62 @@
<template>
<div v-if="etape.etape_number">
<header>
<h1>{{etape.adresse.locality}}, {{ etape.adresse.postal_code }}</h1>
<h2>{{etape.title}}</h2>
<div>
<p>Étape n°{{etape.etape_number}}</p>
<p>Du {{etape.dates.value}} au {{ etape.dates.end_value }}</p>
</div>
<img :src="etape.vignette.url" :alt="etape.vignette.alt">
</header>
<main>
<div v-for="partie in etape.parties">
<h3 v-html="partie.title"></h3>
<p v-html="partie.text"></p>
</div>
</main>
<!--
<div v-if="loading">Loading...</div>
<div v-if="error">{{ error }}</div>
-->
<div><pre>{{etape.href}}</pre></div>
<div><pre><b>GEOFIELD</b>{{etape.geofield}}</pre></div>
<div><pre><b>GALERIES</b>{{etape.galeries}}</pre></div>
<div><pre><b>PARTIES</b>{{etape.parties}}</pre></div>
<div><pre><b>SAISON</b>{{etape.saison}}</pre></div>
<div><pre><b>THEMATIQUES</b>{{etape.thematiques}}</pre></div>
<div>
</div>
</div>
<div v-if="page.title">
<header>
<h1>{{ page.title }}</h1>
</header>
<main>
<div v-html="page.text"></div>
</main>
</div>
</template>
<script setup>
import { storeToRefs } from 'pinia';
import { useContentStore } from '../stores/content';
const store = useContentStore();
const {
loading, error,
etape,
page,
} = storeToRefs(store);
</script>

View File

@ -139,7 +139,7 @@ body{
transform: scale(1.1);
}
> #hamburger.open {
transform: scale(0.7);
transform: scale(0.7) translateX(-20px);
> div {
background-color: white;
}
@ -156,7 +156,7 @@ body{
}
}
> #hamburger.open:hover {
transform: scale(0.8);
transform: scale(0.75) translateX(-20px);
}
> ul {
list-style-type: none;
@ -165,9 +165,11 @@ body{
width: $menu-width;
right: $body-margin-x;
padding: 0;
padding-top: 0vh;
padding-top: 1.5rem;
padding-bottom: 1.5rem;
top: -5vh;
opacity: 0;
transition: padding-top 0.3s ease-out, opacity 0.2s ease-out;
transition: top 0.3s ease-out, opacity 0.2s ease-out;
z-index: 1;
> li {
padding-left: $menu-margin;
@ -196,7 +198,7 @@ body{
}
> ul.open {
opacity: 1;
padding-top: 22vh;
top: 7vh;
}
}
}
@ -277,13 +279,17 @@ body{
}
}
}
> #etape-modale > div {
> #content-modale > div {
z-index: 2;
position: relative;
top: 15vh;
left: 25vw;
width: 50vw;
background-color: rgba(255,255,255,0.5);
img {
width: 100%;
height: auto;
}
}
}
}

View File

@ -36,13 +36,9 @@ function caravane_preprocess_node(&$variables) {
}
function caravane_preprocess_contanier(&$variables) {
function your_theme_preprocess_block(&$variables) {
$t = 0;
}
// function A(){
// $attr = 6;
// B($attr);

View File

@ -0,0 +1,40 @@
{#
/**
* @file
* Default theme implementation to display a block.
*
* Available variables:
* - plugin_id: The ID of the block implementation.
* - label: The configured label of the block if visible.
* - configuration: A list of the block's configuration values.
* - label: The configured label for the block.
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
* - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: Same as attributes, except applied to the main title
* 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.
*
* @see template_preprocess_block()
*
* @ingroup themeable
*/
#}
<div{{ attributes }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }}>{{ label }}</h2>
{% endif %}
{{ title_suffix }}
{% block content %}
{{ content }}
{% endblock %}
</div>

View File

@ -79,7 +79,7 @@
</aside>
{% endif %}
<div id="etape-modale"></div>
<div id="content-modale"></div>
</main>
{% if page.footer %}