inline editing in admin view with views_entity_form_field

This commit is contained in:
2026-09-18 10:23:19 +02:00
parent 310ab58792
commit ae7802fc43
4 changed files with 315 additions and 86 deletions
+1
View File
@@ -36,6 +36,7 @@
"drupal/page_manager": "^4.0@RC", "drupal/page_manager": "^4.0@RC",
"drupal/shield": "^1.8", "drupal/shield": "^1.8",
"drupal/structure_sync": "^2.0", "drupal/structure_sync": "^2.0",
"drupal/views_entity_form_field": "^1.2",
"league/commonmark": "^2.8", "league/commonmark": "^2.8",
"npm-asset/harfbuzzjs": "^1.6", "npm-asset/harfbuzzjs": "^1.6",
"oomphinc/composer-installers-extender": "^2.0", "oomphinc/composer-installers-extender": "^2.0",
Generated
+71 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "14f02e51dadb33e3ba5d1363b9a020ea", "content-hash": "54346c55bdef6cd3e4dd7b4798861c47",
"packages": [ "packages": [
{ {
"name": "asm89/stack-cors", "name": "asm89/stack-cors",
@@ -7384,6 +7384,76 @@
"docs": "https://www.drupal.org/docs/contributed-modules/views-bulk-operations-vbo" "docs": "https://www.drupal.org/docs/contributed-modules/views-bulk-operations-vbo"
} }
}, },
{
"name": "drupal/views_entity_form_field",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/views_entity_form_field.git",
"reference": "8.x-1.2"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/views_entity_form_field-8.x-1.2.zip",
"reference": "8.x-1.2",
"shasum": "cc2d8183fae1b00c57af7bf38bf2fb9d1256212a"
},
"require": {
"drupal/core": "^10.1 || ^11"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "8.x-1.2",
"datestamp": "1784282268",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0+"
],
"authors": [
{
"name": "Garrett Rathbone",
"homepage": "https://www.drupal.org/u/grathbone",
"email": "garrett.rathbone@gmail.com",
"role": "Maintainer"
},
{
"name": "fabsgugu",
"homepage": "https://www.drupal.org/user/3040659"
},
{
"name": "grathbone",
"homepage": "https://www.drupal.org/user/3218105"
},
{
"name": "grevil",
"homepage": "https://www.drupal.org/user/3668491"
},
{
"name": "jannakha",
"homepage": "https://www.drupal.org/user/3085703"
},
{
"name": "vladimiraus",
"homepage": "https://www.drupal.org/user/673120"
}
],
"description": "Add entity form field widgets to a view.",
"homepage": "https://www.drupal.org/project/views_entity_form_field",
"keywords": [
"Drupal"
],
"support": {
"source": "http://cgit.drupalcode.org/views_entity_form_field",
"issues": "https://www.drupal.org/project/issues/views_entity_form_field"
}
},
{ {
"name": "drush/drush", "name": "drush/drush",
"version": "13.7.6", "version": "13.7.6",
+1
View File
@@ -109,6 +109,7 @@ module:
video_embed_field: 0 video_embed_field: 0
views_bulk_edit: 0 views_bulk_edit: 0
views_bulk_operations: 0 views_bulk_operations: 0
views_entity_form_field: 0
views_ui: 0 views_ui: 0
extlink: 1 extlink: 1
menu_admin_per_menu: 1 menu_admin_per_menu: 1
+240 -83
View File
@@ -3,6 +3,9 @@ langcode: fr
status: true status: true
dependencies: dependencies:
config: config:
- core.base_field_override.node.evenement.promote
- field.field.node.evenement.field_type_d_evenement
- field.field.node.projet.field_type_de_projet
- field.storage.node.field_dates - field.storage.node.field_dates
- field.storage.node.field_images - field.storage.node.field_images
- field.storage.node.field_projet_s_lie_s - field.storage.node.field_projet_s_lie_s
@@ -15,6 +18,7 @@ dependencies:
- image - image
- node - node
- user - user
- views_entity_form_field
_core: _core:
default_config_hash: R-NTgeujmsMAGS36IhCoBaKKyvVdM6SbRZW2qxuesRM default_config_hash: R-NTgeujmsMAGS36IhCoBaKKyvVdM6SbRZW2qxuesRM
id: content id: content
@@ -33,22 +37,6 @@ display:
display_options: display_options:
title: Contenu title: Contenu
fields: fields:
node_bulk_form:
id: node_bulk_form
table: node
field: node_bulk_form
entity_type: node
plugin_id: node_bulk_form
label: ''
exclude: false
alter:
alter_text: false
element_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
field_images: field_images:
id: field_images id: field_images
table: node__field_images table: node__field_images
@@ -254,7 +242,7 @@ display:
admin_label: '' admin_label: ''
plugin_id: field plugin_id: field
label: 'Type de projet / évenement' label: 'Type de projet / évenement'
exclude: false exclude: true
alter: alter:
alter_text: false alter_text: false
text: '' text: ''
@@ -317,7 +305,7 @@ display:
admin_label: '' admin_label: ''
plugin_id: field plugin_id: field
label: "Type d'évenement" label: "Type d'évenement"
exclude: false exclude: true
alter: alter:
alter_text: false alter_text: false
text: '' text: ''
@@ -371,6 +359,136 @@ display:
multi_type: separator multi_type: separator
separator: ', ' separator: ', '
field_api_classes: false field_api_classes: false
form_field_field_type_de_projet:
id: form_field_field_type_de_projet
table: node_field_data
field: form_field_field_type_de_projet
relationship: none
group_type: group
admin_label: ''
entity_type: node
plugin_id: entity_form_field
label: 'Type de projet / évenement'
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
plugin:
hide_title: true
hide_description: true
fallback_view_mode: '0'
type: autocomplete_deluxe
settings:
match_operator: CONTAINS
match_limit: 10
min_length: 0
delimiter: ''
not_found_message_allow: false
not_found_message: "The term '@term' will be added"
new_terms: false
no_empty_message: "Pour qu'un projet puisse apparaître sur la home, il doit obligatoirement avoir un type de projet."
third_party_settings: { }
form_field_field_type_d_evenement:
id: form_field_field_type_d_evenement
table: node_field_data
field: form_field_field_type_d_evenement
relationship: none
group_type: group
admin_label: ''
entity_type: node
plugin_id: entity_form_field
label: "Form field: Type d'évenement"
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
plugin:
hide_title: true
hide_description: true
fallback_view_mode: '0'
type: autocomplete_deluxe
settings:
match_operator: CONTAINS
match_limit: 10
min_length: 0
delimiter: ''
not_found_message_allow: false
not_found_message: "The term '@term' will be added"
new_terms: false
no_empty_message: "Pour qu'un événement puisse apparaître sur la home, il doit obligatoirement avoir un type d'événement."
third_party_settings: { }
field_projet_s_lie_s: field_projet_s_lie_s:
id: field_projet_s_lie_s id: field_projet_s_lie_s
table: node__field_projet_s_lie_s table: node__field_projet_s_lie_s
@@ -551,8 +669,8 @@ display:
settings: settings:
timezone_override: Europe/Paris timezone_override: Europe/Paris
format_type: html_date format_type: html_date
from_to: start_date from_to: both
separator: '-' separator: '->'
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@@ -563,38 +681,73 @@ display:
multi_type: separator multi_type: separator
separator: ', ' separator: ', '
field_api_classes: false field_api_classes: false
status: form_field_status:
id: status id: form_field_status
table: node_field_data table: node_field_data
field: status field: form_field_status
relationship: none
group_type: group
admin_label: ''
entity_type: node entity_type: node
entity_field: status plugin_id: entity_form_field
plugin_id: field label: Publié
label: État
exclude: false exclude: false
alter: alter:
alter_text: false 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_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true element_default_classes: true
empty: '' empty: ''
hide_empty: false hide_empty: false
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
type: boolean plugin:
hide_title: true
hide_description: true
fallback_view_mode: default
type: boolean_checkbox
settings: settings:
format: custom display_label: true
format_custom_false: 'Non publié' third_party_settings: { }
format_custom_true: Publié form_field_promote:
promote: id: form_field_promote
id: promote
table: node_field_data table: node_field_data
field: promote field: form_field_promote
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
entity_type: node entity_type: node
entity_field: promote plugin_id: entity_form_field
plugin_id: field
label: "Page d'accueil" label: "Page d'accueil"
exclude: false exclude: false
alter: alter:
@@ -636,32 +789,22 @@ display:
hide_empty: false hide_empty: false
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: value plugin:
type: boolean hide_title: true
settings: hide_description: true
format: unicode-yes-no fallback_view_mode: default
format_custom_false: '' type: boolean_checkbox
format_custom_true: '' settings: { }
group_column: value third_party_settings: { }
group_columns: { } form_field_sticky:
group_rows: true id: form_field_sticky
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
sticky:
id: sticky
table: node_field_data table: node_field_data
field: sticky field: form_field_sticky
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
entity_type: node entity_type: node
entity_field: sticky plugin_id: entity_form_field
plugin_id: field
label: Epinglé label: Epinglé
exclude: false exclude: false
alter: alter:
@@ -703,22 +846,14 @@ display:
hide_empty: false hide_empty: false
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: value plugin:
type: boolean hide_title: true
hide_description: true
fallback_view_mode: default
type: boolean_checkbox
settings: settings:
format: unicode-yes-no display_label: true
format_custom_false: '' third_party_settings: { }
format_custom_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
changed: changed:
id: changed id: changed
table: node_field_data table: node_field_data
@@ -1114,21 +1249,24 @@ display:
row_class: '' row_class: ''
default_row_class: true default_row_class: true
columns: columns:
node_bulk_form: node_bulk_form field_images: field_images
type: title type: title
title: title title: title
field_type_de_projet: field_type_de_projet field_type_de_projet: field_type_de_projet
field_type_d_evenement: field_type_de_projet field_type_d_evenement: field_type_de_projet
form_field_field_type_de_projet: form_field_field_type_de_projet
form_field_field_type_d_evenement: form_field_field_type_de_projet
field_projet_s_lie_s: field_projet_s_lie_s field_projet_s_lie_s: field_projet_s_lie_s
field_projets_curates: field_projet_s_lie_s field_projets_curates: field_projet_s_lie_s
field_dates: field_dates field_dates: field_dates
status: status form_field_status: form_field_status
promote: promote form_field_promote: form_field_promote
form_field_sticky: form_field_sticky
changed: changed changed: changed
operations: operations operations: operations
default: changed default: changed
info: info:
node_bulk_form: field_images:
align: '' align: ''
separator: '' separator: ''
empty_column: false empty_column: false
@@ -1157,6 +1295,16 @@ display:
separator: '' separator: ''
empty_column: false empty_column: false
responsive: '' responsive: ''
form_field_field_type_de_projet:
align: ''
separator: ''
empty_column: false
responsive: ''
form_field_field_type_d_evenement:
align: ''
separator: ''
empty_column: false
responsive: ''
field_projet_s_lie_s: field_projet_s_lie_s:
align: '' align: ''
separator: '' separator: ''
@@ -1174,16 +1322,17 @@ display:
separator: '' separator: ''
empty_column: false empty_column: false
responsive: '' responsive: ''
status: form_field_status:
sortable: true
default_sort_order: asc
align: '' align: ''
separator: '' separator: ''
empty_column: false empty_column: false
responsive: '' responsive: ''
promote: form_field_promote:
sortable: true align: ''
default_sort_order: asc separator: ''
empty_column: false
responsive: ''
form_field_sticky:
align: '' align: ''
separator: '' separator: ''
empty_column: false empty_column: false
@@ -1232,15 +1381,19 @@ display:
content: 'Affichage de @start à @end sur @total' content: 'Affichage de @start à @end sur @total'
display_extenders: { } display_extenders: { }
cache_metadata: cache_metadata:
max-age: 0 max-age: -1
contexts: contexts:
- 'languages:language_content' - 'languages:language_content'
- 'languages:language_interface' - 'languages:language_interface'
- url - url
- url.query_args - url.query_args
- user
- 'user.node_grants:view' - 'user.node_grants:view'
- user.permissions - user.permissions
tags: tags:
- 'config:core.base_field_override.node.evenement.promote'
- 'config:field.field.node.evenement.field_type_d_evenement'
- 'config:field.field.node.projet.field_type_de_projet'
- 'config:field.storage.node.field_dates' - 'config:field.storage.node.field_dates'
- 'config:field.storage.node.field_images' - 'config:field.storage.node.field_images'
- 'config:field.storage.node.field_projet_s_lie_s' - 'config:field.storage.node.field_projet_s_lie_s'
@@ -1269,15 +1422,19 @@ display:
weight: -10 weight: -10
menu_name: admin menu_name: admin
cache_metadata: cache_metadata:
max-age: 0 max-age: -1
contexts: contexts:
- 'languages:language_content' - 'languages:language_content'
- 'languages:language_interface' - 'languages:language_interface'
- url - url
- url.query_args - url.query_args
- user
- 'user.node_grants:view' - 'user.node_grants:view'
- user.permissions - user.permissions
tags: tags:
- 'config:core.base_field_override.node.evenement.promote'
- 'config:field.field.node.evenement.field_type_d_evenement'
- 'config:field.field.node.projet.field_type_de_projet'
- 'config:field.storage.node.field_dates' - 'config:field.storage.node.field_dates'
- 'config:field.storage.node.field_images' - 'config:field.storage.node.field_images'
- 'config:field.storage.node.field_projet_s_lie_s' - 'config:field.storage.node.field_projet_s_lie_s'