- Issue created by @sophron
- ๐ฆ๐บAustralia sophron
Version Information
Drupal Core 10.4.0
Webform: 6.2.9
Theme: Olivero; Bootstrap5 - ๐บ๐ธUnited States jrockowitz Brooklyn, NY
This is a regression triggered via Drupal core.
Notice that although the title option is set to "Invisible", same does not apply to the "Date part" options selected
@see ๐ Date list labels are not visible above select field creating bad UX Fixed
Drupal Core 10.3, Webform 6.2.9, Theme Claro 10.4
Date List - repeats title/label for each Date Part.
Appears to have changed after installing Gavias Edmix 3.0.1 even though Claro theme is selected
Can they be removed?
- ๐บ๐ธUnited States jrockowitz Brooklyn, NY
The select labels could be removed with a custom hook. Someone would have to write and share the code snippet.
- ๐บ๐ธUnited States jrockowitz Brooklyn, NY
jrockowitz โ changed the visibility of the branch 3495192-date-list-part-title-display to hidden.
- Merge request !581Resolve #3495192 "Date list part title display v02" โ (Merged) created by jrockowitz
- ๐บ๐ธUnited States jrockowitz Brooklyn, NY
I created a POC MR to allows the date part title display to be customized.
- ๐ฎ๐ณIndia sdhruvi5142
Hi,
I've applied the MR!581 successfully for drupal core 10.3 and it is working as expected.Steps I followed for testing:
- Add "Date list" element to a webform
- Select all Date part options, or your preferred options
- Set "Title display to "Invisible"
- Save and View
- After applying I can see the new field named "Date part title display" set it to invisible and it is working as expected
Attaching Screenshots for reference
Status - PASS - Status changed to RTBC
7 months ago 10:05pm 24 February 2025 - ๐บ๐ธUnited States jrockowitz Brooklyn, NY
Here is quick fix for people wanting to revert back to the having the datelist title invisible.
/** * Implements hook_webform_element_alter()) */ function MYMODULE_webform_element_alter(array &$element, \Drupal\Core\Form\FormStateInterface $form_state, array $context) { if (isset($element['#type']) && $element['#type'] === 'datelist') { $element['#after_build'][] = 'MYMODULE_webform_element_datelist_after_build'; } } function MYMODULE_webform_element_datelist_after_build(array $element, FormStateInterface $form_state) { foreach (Element::children($element) as $child_key) { if (!isset($element[$child_key]['#title_display'])) { $element[$child_key]['#title_display'] = 'invisible'; } } return $element; }
- ๐บ๐ธUnited States bkosborne New Jersey, USA
This bit us too. I think a better approach for this element would be to render it as a fieldset, where the element name is the fieldset name, and then the individual date parts have visual labels for just the part above. That way the date part labels would not be so long and redundant:
- ๐จ๐ฆCanada Liam Morland Ontario, CA ๐จ๐ฆ
liam morland โ made their first commit to this issueโs fork.
- Status changed to Needs work
11 days ago 1:52am 9 September 2025 - ๐บ๐ธUnited States jrockowitz Brooklyn, NY
Let's see if the existing tests start passing. We will need to add some additional test coverage.
- ๐บ๐ธUnited States jrockowitz Brooklyn, NY
Changing the datelist wrapper will impact existing sites that have already themed the datelist wrapper. I think we should restore the default behavior and make the datelist part title invisible by default, with the option to display it.
I don't think there is any solution that will please everyone. @see โจ Allow `title_display` override for parts of `datelist` form element Active
-
jrockowitz โ
committed 3112ba15 on 6.3.x
[#3495192] feat: Date List element title display options not applying....
-
jrockowitz โ
committed 3112ba15 on 6.3.x
Now that this issue is closed, please review the contribution record.
As a contributor, attribute any organization helped you, or if you volunteered your own time.
Maintainers, please credit people who helped resolve this issue.