Brooklyn, NY
Account created on 25 September 2008, almost 17 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States jrockowitz Brooklyn, NY

Both modules have D11 releases. I think you can remove the _LENIENT_ALLOW_LIST

https://www.drupal.org/project/select2
https://www.drupal.org/project/styleguide

🇺🇸United States jrockowitz Brooklyn, NY

To perform element render validation, we probably need to use functional testing.

The render validation via \Drupal\Tests\webform\Kernel\WebformEntityElementsValidationTest is commented out because it stopped working as Webforms became more complex.

🇺🇸United States jrockowitz Brooklyn, NY

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

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

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

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

Yep, there was a bug that was preventing the display of ignored properties on the Schema.org mapping form.

🇺🇸United States jrockowitz Brooklyn, NY

I think we need to "Improve ignoredProperties UI/UX"

Let's track ignored properties in the admin report so that we can see precisely what is ignored.

🇺🇸United States jrockowitz Brooklyn, NY

The screenshot looks fine. The Schema.org selection handler targets Schema.org types. ImageObject should be mapped to media:image.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz created an issue.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

It is ignored by default.

You need to remove it from 'Ignored Schema.org properties' via /admin/config/schemadotorg/settings/properties#edit-schema-properties

Below is the default list of ignored properties. We need to simplify it even more, or, by default, leave it blank.

- accessMode
- accessModeSufficient
- accessibilityAPI
- accessibilityControl
- accessibilityFeature
- accessibilityHazard
- accessibilitySummary
- acquireLicensePage
- actionableFeedbackPolicy
- answerCount
- assesses
- branchCode
- conditionsOfAccess
- correction
- creditText
- deathPlace
- diversityStaffingReport
- downvoteCount
- duns
- editEIDR
- encoding
- encodingFormat
- geoContains
- geoCoveredBy
- geoCovers
- geoCrosses
- geoDisjoint
- geoEquals
- geoIntersects
- geoOverlaps
- geoTouches
- geoWithin
- gtin
- gtin12
- gtin13
- gtin14
- gtin8
- hasOfferCatalog
- homeLocation
- identifier
- interactionStatistic
- interactivityType
- interpretedAsClaim
- isicV4
- iso6523Code
- itemListOrder
- leiCode
- materialExtent
- naics
- netWorth
- numberOfItems
- ownershipFundingInfo
- pageEnd
- pageStart
- pagination
- pattern
- position
- potentialAction
- publisherImprint
- publishingPrinciples
- schemaVersion
- sdDatePublished
- sdLicense
- sdPublisher
- sha256
- spatial
- suggestedAnswer
- taxID
- temporal
- temporalCoverage
- unnamedSourcesPolicy
- vatID
- wordCount
🇺🇸United States jrockowitz Brooklyn, NY

Is the schemadotorg_media.module enabled?

If not, please enable it, and it will map your existing media types to the correct Schema.org types.

🇺🇸United States jrockowitz Brooklyn, NY

@nicxvan Thank you for catching that.

🇺🇸United States jrockowitz Brooklyn, NY

It seems I secured a sponsor to enhance the webform node 'References' tab by including nodes with paragraphs. This doesn't cover other entity types, but I'll do my best to improve the code to help track usage of other entities.

Let's keep this postponed until the node reference paragraph enhancement is complete.

🇺🇸United States jrockowitz Brooklyn, NY

Looks good. Failing test is unrelated

🇺🇸United States jrockowitz Brooklyn, NY

That seems reasonable. Please create an MR.

🇺🇸United States jrockowitz Brooklyn, NY

I will make some additional tweaks and add a little test coverage to ensure things work as expected.

🇺🇸United States jrockowitz Brooklyn, NY

I think the MR via 🐛 Error: Call to undefined function Drupal\webform\Hook\_webform_token_get_submission_value() Active completes the move from token functions to OOP hooks. I moved the webform.token.inc to includes/* because most of the legacy functional hooks are also includes/*.

When 🐛 Error: Call to undefined function Drupal\webform\Hook\_webform_token_get_submission_value() Active is fixed, I will also mark this as fixed to ensure everyone gets commit credit.

🇺🇸United States jrockowitz Brooklyn, NY

I move all the private functions to \Drupal\webform\Hook\WebformTokensHook

_webform_token_get_submission_value =>
  \Drupal\webform\Hook\WebformTokensHooks::getSubmissionValue

_webform_token_get_submission_values  =>
  \Drupal\webform\Hook\WebformTokensHooks::getSubmissionValues

_webform_token_render_more =>
  \Drupal\webform\Hook\WebformTokensHooks::renderMore

_webform_token_get_interval_wait =>
  \Drupal\webform\Hook\WebformTokensHooks::getIntervalWait
🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz changed the visibility of the branch 3546389-error-call-to to hidden.

🇺🇸United States jrockowitz Brooklyn, NY

The webform module's hooks are organized into includes, so it makes sense that an include/webform.tokens.inc would be added here.

https://git.drupalcode.org/project/webform/-/blob/6.3.x/webform.module?r...

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I am feeling that we need an MVP solution for webform.tokens.inc, and this might be the most straightforward approach.

🇺🇸United States jrockowitz Brooklyn, NY

I think people keep getting thrown off by the fact that Drupal core's email.validator service allows emails addressed without domains. @see 🐛 Webform contact form email validation not working Closed: works as designed

If someone is looking for advanced email validation , there is a module for that

🇺🇸United States jrockowitz Brooklyn, NY

Drupal core's email element and Webform's webform_email_multiple element both use the email.validator service.

Is there a specific place in the Webform module that is allowing an email address without validating it?

🇺🇸United States jrockowitz Brooklyn, NY

I am leaning toward moving webform.tokens.inc to includes/webform.token.inc and then adding it as include to webform.module.

We will take a slight performance hit for alway loading this code but it feels like the safest and simplest compromise.

@see 🐛 After core commit 11.x-dev#7e27c7f can no longer save field definitions Active

🇺🇸United States jrockowitz Brooklyn, NY

A few tests broke but I still think this is the right solution.

🇺🇸United States jrockowitz Brooklyn, NY

@glynster Thank you for posting something so quickly. I hadn't tested the update which contained a very dumb mistake.

I committed the fix. @see https://git.drupalcode.org/project/webform/-/commit/03af82986c566e137426...

🇺🇸United States jrockowitz Brooklyn, NY

@gogowitsch Thank you for catching that issue. I have seen similar issues when performing bulk operations with views, and it looks like you found the perfect solution—always append sorting by 'id' to ensure the record order is reliable.

Moving to RTBC with the assumption that all the tests will pass.

🇺🇸United States jrockowitz Brooklyn, NY

That video is really helpful. I am baffled to the root cause of that specific warning.

🇺🇸United States jrockowitz Brooklyn, NY

Please reopen if you can reproduce this issue outside of a custom theme

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

You can use hook_webform_element_default_properties_alter() to accomplish this.

Take a look at the webform_example_element_properties

We are not going to add new element validation because it would impact the existing implementation.

The email, url, and phone HTML input do have some limited but standardized validation.

🇺🇸United States jrockowitz Brooklyn, NY

I forgot to push a single commit for that one test. I am going to optimistic and move this back to RTBC.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

Postpone since this is a core issue.

🇺🇸United States jrockowitz Brooklyn, NY

Here is the core issue to address this 🐛 Display Bug when using #states (Forms API) with Ajax Request Needs work

🇺🇸United States jrockowitz Brooklyn, NY

The attached webform replicates the issue. There is no easy fix because the server doesn't know know the clientside required state of an element.

🇺🇸United States jrockowitz Brooklyn, NY

This type of enhancement would change the expected data and should be via custom code or dedicated contrib module.

With Provide option to disable default Js validation on Telephone element Active , the Drupal.webformTelephoneInternationalValidate can now be overwritten.

@see 🌱 [meta] International Telephone Validation Support Active

🇺🇸United States jrockowitz Brooklyn, NY

If tests pass this can be RTBC

🇺🇸United States jrockowitz Brooklyn, NY

I think this is the only solution/compromise.

We could start trimming the leading zero by default, and for existing installations, we can disable the trimming via an update hook.

🇺🇸United States jrockowitz Brooklyn, NY

Moving to RTBC since all the tests should now be passing

🇺🇸United States jrockowitz Brooklyn, NY

I think this is edge case feature that should be addressed in a dedicated contributed module. OOTB the Submission List builder can be replaced with views that hide default properties.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I tweaked the requirements to display missing deprecated module via update (drush updb and update.php) and runtime (Status report) requirements.

Moving this to RTBC.

🇺🇸United States jrockowitz Brooklyn, NY

I am very impressed by the usage of the destination to move the user throught the process of deleting all the submissions before deleting multiple webforms.

Moving to RTBC as long as the test pass

🇺🇸United States jrockowitz Brooklyn, NY

I am very impressed by the usage of the destination to move the user throught the process of deleting all the submissions before deleting multiple webforms.

🇺🇸United States jrockowitz Brooklyn, NY

Below are my steps to review

Create a webform with 1000 submissions

  • Attempt to delete the webform
  • Confirm that delete submission message is displayed with link to delete submissions.
  • Click link and batch delete the 1000 submission
  • Confirm redirected to the delete webform page
  • Delete the webform.

Confirm multiple webform deletion workflow

  • Create two webforms A and B with 1000 submissions.
  • Confirm deleting a webform with 1000 submission displays "You may not delete Issue #3257570: A webform until you have removed all of the Issue #3257570: A submissions."
  • Confirm bulk deleting both webform displays delete form with "You may not delete these webforms until there is less than 500 total submissions."
  • Delete submissions from individual webforms
  • Confirm you can now delete the single webform
  • Confirm you can now delete both webforms
🇺🇸United States jrockowitz Brooklyn, NY

Could it be that the form creation behavior has changed?

No, but maybe we tweaked something else that prevents the confusion between webforms.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

Since 🐛 getParagraphWebformsRecursive causes slow load times Needs review was committed, we might not need to make this tweak.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I am hesitant to making the likert element more complex.

We definitely need an example webform that illustrates the problem and any solution will require test coverage.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

Even without select2, select multiple conditions are not working via D11

select_multiple:
  '#type': select
  '#title': select_multiple
  '#options':
    one: one
    two: two
    three: three
  '#multiple': true
textarea_multiple:
  '#type': textarea
  '#title': textarea_multiple
  '#states':
    visible:
      ':input[name="select_multiple"]':
        value: one
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I can't replicate this using the attached webform references by a webform node.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I am confused because the video in #7 shows how users can tab in the the sidebar.

The MR makes complete sense to me and should be merged.

🇺🇸United States jrockowitz Brooklyn, NY

Something I might be missing is how the labels of submit buttons are being set.

🇺🇸United States jrockowitz Brooklyn, NY

I also can't replicate using the webform_test_paragraphs.module with two webforms (A and C) added via paragraphs.

I customize the submit button label via an action element.

🇺🇸United States jrockowitz Brooklyn, NY

I can't replicate this issue based on #10 using the attached webforms

I am using a webform node and a webform block.

🇺🇸United States jrockowitz Brooklyn, NY

This request got me thinking, what if we allow any webform default settings to be altered via YAML via /admin/structure/webform/config.

This could easily be done in a dedicated contribute module called 'Webform Default Settings'.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

Yeah, changing the default value is going to create more confusion than it is worth for people.

🇺🇸United States jrockowitz Brooklyn, NY

I am hesitant to allow every webform setting to have a customizable default configuration value.

Sites can use this recipe to adjust default configuration values when creating a Webform.

🇺🇸United States jrockowitz Brooklyn, NY

Yeh, I think this is "wont fix / works as designed"

🇺🇸United States jrockowitz Brooklyn, NY

#5 found the problematic code, If I comment out Drupal.behaviors.autocomplete.detach the error goes away.

🇺🇸United States jrockowitz Brooklyn, NY

I can replicate this issue using D11 and Webform 6.3.x. I think this should be considered a major issue because JS error can impact browsers differently.

🇺🇸United States jrockowitz Brooklyn, NY

🐛 Checkboxes/Radios with description display set to "before" renders description in #prefix Active now allows the description to be displayed before.

Other elements are wrapped in a fieldset; if the wrapper is changed to a form element, all the display settings are available.

The attached webform confirms that the description comes before the fieldset and form element wrapper.

I think this issue is resolved.

🇺🇸United States jrockowitz Brooklyn, NY

I am inclined to merge this if all the tests pass

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz changed the visibility of the branch 6.3.x to hidden.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz changed the visibility of the branch 3512775-minimum-items-not to hidden.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz changed the visibility of the branch 3512775-MinimumItemsNotRespected to hidden.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

With Provide option to disable default Js validation on Telephone element Active , the Drupal.webformTelephoneInternationalValidate can now be overwritten.

🇺🇸United States jrockowitz Brooklyn, NY

I apologize that I see no way to give people contribution credit on this issue. It is saying, "You need to be a maintainer of the module to make changes."

🇺🇸United States jrockowitz Brooklyn, NY

A dedicated and overridable Drupal.webformTelephoneInternationalValidate function was created via Provide option to disable default Js validation on Telephone element Active .

The request/patch in #10 has been addressed.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I agree with the conclusion in #3

https://intl-tel-input.com/examples/validation-practical.html

If isValidNumber returns false and you'd like more detail, you can then use the getValidationError method to get more information. This method returns an error code (integer), which you can then map to your own custom error message, as in the example below.

🇺🇸United States jrockowitz Brooklyn, NY

I am not able to replicate this issue using the provides steps and the attached example webform.

🇺🇸United States jrockowitz Brooklyn, NY

The checked condition isn't working because on the server the value of table select stored via the submission.

The attached webform shows the workaround from #3 working

🇺🇸United States jrockowitz Brooklyn, NY

Patches and MRs are welcomed. I am not using s3fs so I can't replicate or fix this issue.

🇺🇸United States jrockowitz Brooklyn, NY
🇺🇸United States jrockowitz Brooklyn, NY

I was able to replicate #7 but I am not going to be able to fix for this issue because conditional logic is displaying the required error for the form element via \Drupal\webform\WebformSubmissionConditionsValidator::validateForm and other element is displaying the required error for the webform_select_other element via \Drupal\webform\Element\WebformOtherBase::validateWebformOther.

🇺🇸United States jrockowitz Brooklyn, NY

I am realizing that this ticket has multiple conditional logic issues being mentioned, and it makes it very difficult to resolve any of them.

The original issue can be solved by ensuring a container's conditions are applied to the subelements that have additional conditional logic.

Please open new tickets for the other issues mentioned.

🇺🇸United States jrockowitz Brooklyn, NY

The original example seems to have the same nested condition issue as #10

Production build 0.71.5 2024