Account created on 13 January 2008, over 17 years ago
#

Merge Requests

More

Recent comments

🇫🇷France goz

Thank you for your quick answer.
I effectively saw this logic (from code and tests). That's why i suggested to add in description a warning that a default value should be defined in case required was originally TRUE.

Can you at least check "required" works ? As i explain in the issue, !empty($settings['required']) will always return FALSE except if there is no required key in the array, so definition will never be overriden.

🇫🇷France goz

My bad, everything is working as expected.
Some debug from another issue which has nothing with layout paragraph had mess this up.

🇫🇷France goz

A duplicate page exists with informations

🇫🇷France goz

goz made their first commit to this issue’s fork.

🇫🇷France goz

I have know no errors on display, but can only have one cell/field in a row (here title)

🇫🇷France goz

May be i'm wrong, here is how i configure my view :

Format with table component, display cell component

Format settings :

Display settings, i cannot configure to display the rendered field without defining a specific field

In any case, submitting generate an error

InvalidArgumentException: "component_id" is an invalid render array key. Value should be an array but got a string. in Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).

Drupal\Core\Render\Renderer->doRender() (Line: 222)
Drupal\Core\Render\Renderer->render() (Line: 491)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 194)
🇫🇷France goz

By default with component integration in views, i cannot produce a working view with table/cell component. Some errors occures

🇫🇷France goz

I have the same issue with Feeds module 🐛 When using Navigation module, Save button doesn't trigger Active which display dropbutton actions when editing a feed content. In this case, dropbuttons are displayed, but not actions on click.

🇫🇷France goz

I have the same issue, except i have no "Enable sticky action buttons" in Gin settings when navigation module is enabled. Disabling navigation module show the option, but it's not checked.

Using Claro as admin theme, dropbuttons are no more sticky in header.

So it's an issue with Gin when navigation module is enabled and dropbuttons are used in actions.

Drupal: 11.2.2
Gin: 5.0.3
Feeds : 8.x-3.0

🇫🇷France goz

I work on top of Mikael work on his MR.

I add the cell component.

Remove row and cell attributes which are not defined by dsfr.
Cell attributes are now directly managed by cell component.

Provide 3 stories :

  • Preview
  • Fixed headers (but with dsfr, only column can be fixed)
  • Alignments (vertical and horizontal)
🇫🇷France goz

Unfortunatelly, i have no tools right now to encode story to YAML in twig. Twig does not provide this feature (it's part of symfony/twig-bridge)

And i don't think it's a good idea to try to add this from stories component or another preprocess.

Here is an example with JSON format, even if i know it's not the best format.

Display with components is here, we still have to define how display the "code" part.

🇫🇷France goz

Looking at tabs story, id key is wrong. Should not be unique_id but id.

🇫🇷France goz

This is how this code will display a story with its json settings :

Goal should be to look like dsfr does :

They are using prismsjs to display html, may be we can use it to display a clean json ?

I love the "show code", but that can be a button, a tab or whatever.
I don't think it's a good thing to display code by default, display is already huge, we should not add large piece of code which is not relevant at first.

When i see a display i want, only at this moment, i want to know how to build it, so i click on the "show me how to do" thing.

Unfortunatelly, there is no component in dsfr to display code or make this feature.

DSFR give us :

  • Modal
  • Accordion
  • Tab
  • Transcription

May be we could us one of them ?

Here is an example based on transcription (but we cannot change "transcription" text):

🇫🇷France goz

So much better !
Here is the compact display

🇫🇷France goz

When display is in modal, clicking on radio change the preview radio status, not the one in the modal.

This is caused by the fact we display two form display.

If it's possible by the dsfr library, we should have two distinct event displays OR an action on one should dispatch on all

See video

🇫🇷France goz

Nice, it's more understandable.

🇫🇷France goz

Use library_wrapper to display variations in a grid, like it's done in 📌 Add new stories: Card Active

Jean is already on it

🇫🇷France goz

Jean is working on it, so i remove assignation

🇫🇷France goz

I thought about a story to show how the pagination will display in case we are in the last page (next page link and last page link are disabled).

I agree that this is really a minor feature.

🇫🇷France goz

Modal with display works as expected.

But, i think this story should be placed in display component, not in modal. This is a way to implement a 'display' component and is not relevant by the modal component itself.

🇫🇷France goz

Looks good to me, display as expected.

Compact display in /admin/appearance/ui/components#ui_suite_dsfr:tile is not the best display, but this should be dealed in specific issue

🇫🇷France goz

Type button was ready everywhere excepts for tag component.

🇫🇷France goz

I disagree, ui_suite_bootstrap implements icons thanks to .icons.yml file, same as the icons libraries you mention.

I have the same issue with ui_icons_drupal.

Debugging, i can confirm the first time i display input an type text, no JS is loaded nor called.

See https://www.drupal.org/files/issues/2025-07-13/display-builer-icons-no-j...

🇫🇷France goz

goz changed the visibility of the branch 3531467-1.0.0-alpha1-navigation-left to hidden.

🇫🇷France goz

Converting SASS to pure CSS does not change anything

.display-builder .db-form * {
  font-size: var(--sl-button-font-size-medium) !important;
}

.display-builder .db-form .shoelace-tabs {
  margin-bottom: 0.5rem;
}

.display-builder .db-form .ui-icons-wrapper  .ui-icons-select {
  display: inline-block;
  margin-top: 0.5rem;
}

.display-builder .db-form .ui-icons-wrapper  .ui-icons-select .form-item--error-message {
  display: none;
}

.display-builder .db-form .ui-icons-wrapper  .ui-icons-select > div {
  display: contents;
}

.display-builder .db-form .ajax-progress-throbber {
  display: none !important;
}

.display-builder .db-form .ui-icons-settings-wrapper {
    margin-top: 0.5rem;
}

Moving back to https://git.drupalcode.org/project/display_builder/-/blob/4b188bc51d868a... is OK

🇫🇷France goz

Everything seems to be fine with 47f82bb1 commit on #3529103, comment #31.

I start from 47f82bb1 commit, rebase on 1.0.x branch, and still no bug

BUT testing from commit 7b31071a is broken

🇫🇷France goz

By default, we have only one story by component, and display variants.

Can we define variants and props on which to loop to define stories ?

🇫🇷France goz

Sorry for the false positive, i forgot to remove some tests in core which make my instance not relevant.
I spend a big part of my weekend on it... and burn too much neurons.

Finally, took less time this afternoon to fix it once i reproduce again.

🇫🇷France goz

I have no warnings :/

Can you give me more informations to reproduce ?

Which theme do you use, do you start from a fixture, on which component ?
May be a screencast will help

Thanks

🇫🇷France goz

I rebased my branch to not get other commits.

This issue was very hard, hope there will be no more errors.
Fingers crossed.

🇫🇷France goz

Difference between 2 versions :

In 1.0.x, UiStylesPanel build form is called only when island is panel island is displayed when clicking on the icon.
In MR, UiStylesPanel build form is called when page is loaded

So MR change more things that expected

🇫🇷France goz

My bad, digging for the error, it seems i previously met this, but certainly fix it in ui_patterns or elsewhere which is not in display_buider... and forgot about it.

The following error

     Warning: Uninitialized string offset 0 in Drupal\Core\Render\Element::property() (line 29 of /var/www/html/web/core/lib/Drupal/Core/Render/Element.php)

comes from a radio element with an option with empty key :

{
  "#type": "radios",
  "#title": "Typography",
  "#options": {
    "": "- None -",
    "h1": "<span class=\"ui-styles-source-select-plugin-option h1\">\u0391\u03b1<\/span>Heading 1",
(...)
  },
  (...)
  "#id": "edit-styles-wrapper-text-ui-styles-typography",
  "#name": "styles[wrapper][text][ui_styles_typography]",
  "#value": "",
  "": {
    "#type": "radio",
    "#title": "- None -",
    "#return_value": "",
    "#default_value": "",
    (...)
    "#name": "styles[wrapper][text][ui_styles_typography]",
    "#value": "",
    "#ajax_processed": false,
    "#sorted": true,
    "#isDisplayBuilder": true
  },
  (...)
  "#isDisplayBuilder": true
}

Strangely, i have this issue only for this MR, not from 1.0.x and in 1.0.x, this radios element is not loaded (so no error). BUT the radios element is not displayed, so i guess the MR process something which should not

🇫🇷France goz

PHPStan fails on code which is not part of this MR.

🇫🇷France goz

It would be nice to have @instance has been updated: @diff

Is way more complicated, may be we could move it in another issue like discussed during meeting ?

🇫🇷France goz

I can't figure out what i can load from instance id.
Btw, i think it should be more accurate to not display label instance, but path change from to (with labels).

Not : Globe icon has been attached to horizontal card's prefix
But :

  • Globe icon has been attached to Grid Row 1 col (Bootstrap) > horizontal card's prefix
  • Grid Row 1 col (Bootstrap) > Globe icon has been attached to Grid Row 1 col (Bootstrap) > Grid Row col (Bootstrap) > horizontal card's prefix

Anyway, i still missing how to get label from ids or path

🇫🇷France goz

goz made their first commit to this issue’s fork.

🇫🇷France goz

If merged, it should be done in new major release since it make breaking changes.

🇫🇷France goz

Here are screenshots applying those modifications

🇫🇷France goz

This should be done in major release since it provide breaking changes

🇫🇷France goz

I like the idea to make this available for others entities. It's really an UX improvement !

I'd like to see this for media entities.

🇫🇷France goz

Drupal core now provides an Icon API. I guess it can be used (for the display), and ui_icons for the widget.

🇫🇷France goz

Digging, here is what i find :

  1. user 1 is first created with placeholder for username, email, password
  2. than config is updated, so User entity has now new fields definitions.
  3. When user is updated to add configured username, email and password, it's loaded from cache, which was generated before we update the field definition.

So i suggest to reset cache for the user before loading it to update datas.

Production build 0.71.5 2024