πŸ‡«πŸ‡·France @bedlam

Lyon
Account created on 11 July 2006, almost 19 years ago
#

Recent comments

πŸ‡«πŸ‡·France bedlam Lyon

bedlam β†’ changed the visibility of the branch 3522441-tfa-setup-not to hidden.

πŸ‡«πŸ‡·France bedlam Lyon

Browsing the code, I also notice other selectors that are likely to suffer the same fates in some circumstances. E.g. #feedback-msg-answers--2 wouldn't be fixed by this MR.

πŸ‡«πŸ‡·France bedlam Lyon

I looked into this a bit more and consulted a colleague.

Based on his comments and a bit more testing, I think the bigger issue may be that the buttons are removed from the DOM at all. It raises a couple of problems:

  • what even could we say to explain "the button you just clicked is now gone, but please carry on"?
  • (more importantly), where does focus go?

But leaving them in place solves both issues fairly simply (along with letting a user change their mind after having clicked a button in error).

πŸ‡«πŸ‡·France bedlam Lyon

bedlam β†’ changed the visibility of the branch 3520541-interactionsubmission-issues to hidden.

πŸ‡«πŸ‡·France bedlam Lyon

Turns out that $form['feedback_send']['#ajax']['event'] should be set to "click".

πŸ‡«πŸ‡·France bedlam Lyon

I just happened upon this issue.

A relatively simple solution for this is to use Drupal.announce() β†’ to speak an meaningful message describing what happened when the markup change completes (probably this would work best at the end of the big click handler, but I'm not familiar enough with the module's javascript to be positive).

We've used this successfully in applications where an action changes something not immediately following the button/form-control that triggered the action, like, e.g., a "Close all accordions" button: Drupal.announce(Drupal.t('All accordions closed.'));

πŸ‡«πŸ‡·France bedlam Lyon

bedlam β†’ made their first commit to this issue’s fork.

πŸ‡«πŸ‡·France bedlam Lyon

Hi @lussoluca and @alberto,

@lussoluca, I've granted you full access to everything I can. If you're of a mind to take over ownership, I'm happy for that to happen, but I don't think I can initiate that process myself.

@khaled.zaidan offered to help maintain some time ago, and I gave him access for everything but releases. I never heard back, but there may be additional help available :)

Many thanks for the offer: I clearly haven't been able make enough time to work on the project, but I'd really like for it to get out of the (pre!) alpha stage that we got it to.

-- Christopher

πŸ‡«πŸ‡·France bedlam Lyon

Thanks for the report. I've had (or maybe caused πŸ™„) that issue with guzzle before.

πŸ‡«πŸ‡·France bedlam Lyon

Thanks for this.

Possibly this is a silly question, but I haven't worked with this module for a while (and never seen crashes or resource-usage spikes when adding an index). What are the symptoms when this occurs?

πŸ‡«πŸ‡·France bedlam Lyon

We're seeing what I think is this issue on Drupal 9 too. If any other input[type="submit"] appears on the page before the ajax-enabled one, the ajax behavior gets attached to it instead.

We're able to reproduce it at will, but only on one specific client environment, and it's not clear (yet) what role that environment might be playing. Making sure the ajax form is the first one on the page makes it work reliably.

We initially thought the ajax behavior was missing, but found it was only misplaced by stepping through the js code on the page. Now that we know what to look for, we can try to discover where the selector goes wrong (i.e. because the observed behavior is like something like this made-up javascript is going on: const idSelector = functionReturingFalsyValue(); const ajaxSubmit = `input[type="submit"]${idSelector}`;).

πŸ‡«πŸ‡·France bedlam Lyon

@paul121, @sashaeggi

Looking closer at the code, this makes more sense now... when the dropbutton is on the "right side" of the screen, we want to set right: 0, but when the dropbutton is on the "left side" of the screen, we want to set left: 0. Perhaps this should be an option for the dropbutton render element? I know that will all be changing soon, but maybe something to consider in the new implementation?

This is exactly the issue. The current selector and property are 100% correct:

[dir="ltr"] .dropbutton .dropbutton__items {
  right: 0;
}

...if the dropdown button is only ever positioned at the right edge of a container.

The only real solution I can see is to write context-aware selectors something like this:

[dir="ltr"] .dropbutton--right .dropbutton__items {
  right: 0;
}

[dir="ltr"] .dropbutton--left .dropbutton__items {
  left: 0;
}
πŸ‡«πŸ‡·France bedlam Lyon

Hi @joseph.olstad!

I'd completely forgotten about this module. I've made you a maintainer with full access. Thanks!

Production build 0.71.5 2024