Skip to content
Snippets Groups Projects
Verified Commit e3b6f2fd authored by Théodore Biadala's avatar Théodore Biadala
Browse files

Issue #3386191 by phthlaap, sukr_s, Ozle, brunoalmeida, smustgrave, Ashley...

Issue #3386191 by phthlaap, sukr_s, Ozle, brunoalmeida, smustgrave, Ashley George, shiv_yadav, larowlan: #states not working correctly when built from a logical combination of multliple fields

(cherry picked from commit 5e2806f1)
parent e664ed01
Branches
Tags
32 merge requests!10663Issue #3495778: Update phpdoc in FileSaveHtaccessLoggingTest,!10451Issue #3472458 by watergate, smustgrave: CKEditor 5 show blocks label is not translated,!103032838547 Fix punctuation rules for inline label suffix colon with CSS only,!10150Issue #3467294 by quietone, nod_, smustgrave, catch, longwave: Change string...,!10130Resolve #3480321 "Second level menu",!9936Issue #3483087: Check the module:// prefix in the translation server path and replace it with the actual module path,!9933Issue #3394728 by ankondrat4: Undefined array key "#prefix" and deprecated function: explode() in Drupal\file\Element\ManagedFile::uploadAjaxCallback(),!9914Issue #3451136 by quietone, gapple, ghost of drupal past: Improve...,!9882Draft: Issue #3481777 In bulk_form ensure the triggering element is the bulk_form button,!9839Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...,!9815Issue #3480025: There is no way to remove entity cache items,!9757Issue #3478869 Add "All" or overview links to parent links,!9752Issue #3439910 by pooja_sharma, vensires: Fix Toolbar tests that rely on UID1's super user behavior,!9749Issue #3439910 by pooja_sharma, vensires: Fix Toolbar tests that rely on UID1's super user behavior,!9678Issue #3465132 by catch, Spokje, nod_: Show test run time by class in run-tests.sh output,!9578Issue #3304746 by scott_euser, casey, smustgrave: BigPipe cannot handle (GET)...,!9449Issue #3344041: Allow textarea widgets to be used for text (formatted) fields,!8945🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥...,!8893Resolve #3444391 "Navigation center sm logo",!8772Issue #3445909 by seanB, smustgrave, alexpott, catch: Add static caching to...,!8723Make dblog entities,!8708Filter out disabled display extenders on save,!8691#3459116 - Update Manager Settings: Validate same email address added multiple times,!8665Issue #3449743 by catch: Try to optimize test ordering when run-tests.sh is...,!8598Draft: Issue #3458215: Migrate Toolbar button to SDC,!8572Reorder checkboxes on "Development settings" page,!8538Issue #3457009: Fixing xxception message thrown.,!8516Update file EntityReferenceItem.php,!8505Issue #3456528: _node_mass_update_batch_process fails during user cancel when revision is deleted,!8494Issue #3452511: Convert ProviderRepositoryTest to a kernel test,!8482Resolve #3456202 "Phpunit tests support",!8463Prevent re-install if site already exists
Pipeline #198321 passed with warnings
Pipeline: drupal

#198333

    Pipeline: drupal

    #198327

      Pipeline: drupal

      #198324

        ......@@ -93,15 +93,16 @@
        */
        Drupal.behaviors.states = {
        attach(context, settings) {
        const $states = $(context).find('[data-drupal-states]');
        const il = $states.length;
        // Uses once to avoid duplicates if attach is called multiple times.
        const elements = once('states', '[data-drupal-states]', context);
        const il = elements.length;
        for (let i = 0; i < il; i++) {
        const config = JSON.parse(
        $states[i].getAttribute('data-drupal-states'),
        elements[i].getAttribute('data-drupal-states'),
        );
        Object.keys(config || {}).forEach((state) => {
        new states.Dependent({
        element: $($states[i]),
        element: $(elements[i]),
        state: states.State.sanitize(state),
        constraints: config[state],
        });
        ......
        ......
        ......@@ -730,6 +730,30 @@ public function buildForm(array $form, FormStateInterface $form_state) {
        '#title' => 'Enable textarea',
        ];
        $form['test_select_visible_dependence']['select_visible_1'] = [
        '#type' => 'select',
        '#title' => 'Select visible 1',
        '#options' => [0 => 0, 1 => 1],
        '#default_value' => 0,
        ];
        $form['test_select_visible_dependence']['select_visible_2'] = [
        '#type' => 'select',
        '#title' => 'Select visible 2',
        '#options' => [0 => 0, 1 => 1],
        '#default_value' => 0,
        ];
        $form['test_select_visible_dependence']['select_visible_3'] = [
        '#type' => 'select',
        '#title' => 'Select should show when 0 and 1 are selected',
        '#options' => [0 => 0, 1 => 1],
        '#states' => [
        'visible' => [
        ':input[name="select_visible_1"]' => ['value' => 0],
        ':input[name="select_visible_2"]' => ['value' => 1],
        ],
        ],
        ];
        return $form;
        }
        ......
        ......
        ......@@ -443,6 +443,15 @@ protected function doSelectTriggerTests() {
        $this->assertFalse($item_visible_value2->isVisible());
        $this->assertTrue($textfield_visible_value3->isVisible());
        $this->assertTrue($textfield_visible_value2_or_value3->isVisible());
        $this->container->get('module_installer')->install(['big_pipe']);
        $this->drupalGet('form-test/javascript-states-form');
        $select_visible_2 = $this->assertSession()->elementExists('css', 'select[name="select_visible_2"]');
        $select_visible_3 = $this->assertSession()->elementExists('css', 'select[name="select_visible_3"]');
        $this->assertFalse($select_visible_3->isVisible());
        $select_visible_2->setValue('1');
        $this->assertTrue($select_visible_3->isVisible());
        }
        /**
        ......
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please to comment