Magento2 : How disable some specific values in Multi-select UI component The Next CEO of Stack OverflowMagento2 : multi select box is not showing option with custom sourceMulti select options for Magento2 custom AttributeHow to add multi-select field in magento2 ui formMagento2 ui component multiselect selected options on editmulti-select image switcher for product configuration. how to do?Month select in UI component formHow to Update Magento 2 configurable child products price by REST APIHow to Implement auto text box with multi select in Magento 2 admin?UI Component - Disable Fieldset CollectionMagento 2 ui multi-select preselected values

Why is there a PLL in CPU?

Too much space between section and text in a twocolumn document

Return of the Riley Riddles in Reverse

Fastest way to shutdown Ubuntu Mate 18.10

How do I solve this limit?

Unreliable Magic - Is it worth it?

How can I quit an app using Terminal?

Any way to transfer all permissions from one role to another?

Return the Closest Prime Number

Anatomically Correct Mesopelagic Aves

Why didn't Theresa May consult with Parliament before negotiating a deal with the EU?

Are there languages with no euphemisms?

Explicit solution of a Hamiltonian system

How do I go from 300 unfinished/half written blog posts, to published posts?

What is the point of a new vote on May's deal when the indicative votes suggest she will not win?

WOW air has ceased operation, can I get my tickets refunded?

Is it my responsibility to learn a new technology in my own time my employer wants to implement?

Visit to the USA with ESTA approved before trip to Iran

Why do remote companies require working in the US?

How to write the block matrix in LaTex?

MAZDA 3 2006 (UK) - poor acceleration then takes off at 3250 revs

Opposite of a diet

Is it a good idea to use COLUMN AS (left([Another_Column],(4)) instead of LEFT in the select?

The King's new dress



Magento2 : How disable some specific values in Multi-select UI component



The Next CEO of Stack OverflowMagento2 : multi select box is not showing option with custom sourceMulti select options for Magento2 custom AttributeHow to add multi-select field in magento2 ui formMagento2 ui component multiselect selected options on editmulti-select image switcher for product configuration. how to do?Month select in UI component formHow to Update Magento 2 configurable child products price by REST APIHow to Implement auto text box with multi select in Magento 2 admin?UI Component - Disable Fieldset CollectionMagento 2 ui multi-select preselected values










0















I am setting some values in multi-select to be disabled based on some condition



This is how I am declaring my UI component



<field name="category_option">
<argument name="data" xsi:type="array">
<item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" translate="true" xsi:type="string">Category Option</item>
<item name="formElement" xsi:type="string">multiselect</item>
<item name="source" xsi:type="string">category_option</item>
<item name="sortOrder" xsi:type="number">60</item>
<item name="dataScope" xsi:type="string">category_option</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>


And passing values using



public function toOptionArray()

$categories = $this->_helper->getTestCategoryOptions();
$testArr = [];
foreach($categories as $category)
$testArr = array_merge($testArr,$category);

foreach($testArr as $test)
switch($test['label'])
case 'case1':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
break;
case 'Food City':
$result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case2':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case3':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case4':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
default:
$result[] = ['value' => $test['value'], 'label' => $test['label']];


return $result;



in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










share|improve this question


























    0















    I am setting some values in multi-select to be disabled based on some condition



    This is how I am declaring my UI component



    <field name="category_option">
    <argument name="data" xsi:type="array">
    <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
    <item name="config" xsi:type="array">
    <item name="dataType" xsi:type="string">text</item>
    <item name="label" translate="true" xsi:type="string">Category Option</item>
    <item name="formElement" xsi:type="string">multiselect</item>
    <item name="source" xsi:type="string">category_option</item>
    <item name="sortOrder" xsi:type="number">60</item>
    <item name="dataScope" xsi:type="string">category_option</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    </argument>
    </field>


    And passing values using



    public function toOptionArray()

    $categories = $this->_helper->getTestCategoryOptions();
    $testArr = [];
    foreach($categories as $category)
    $testArr = array_merge($testArr,$category);

    foreach($testArr as $test)
    switch($test['label'])
    case 'case1':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
    break;
    case 'Food City':
    $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case2':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case3':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case4':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    default:
    $result[] = ['value' => $test['value'], 'label' => $test['label']];


    return $result;



    in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










    share|improve this question
























      0












      0








      0








      I am setting some values in multi-select to be disabled based on some condition



      This is how I am declaring my UI component



      <field name="category_option">
      <argument name="data" xsi:type="array">
      <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
      <item name="config" xsi:type="array">
      <item name="dataType" xsi:type="string">text</item>
      <item name="label" translate="true" xsi:type="string">Category Option</item>
      <item name="formElement" xsi:type="string">multiselect</item>
      <item name="source" xsi:type="string">category_option</item>
      <item name="sortOrder" xsi:type="number">60</item>
      <item name="dataScope" xsi:type="string">category_option</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      </argument>
      </field>


      And passing values using



      public function toOptionArray()

      $categories = $this->_helper->getTestCategoryOptions();
      $testArr = [];
      foreach($categories as $category)
      $testArr = array_merge($testArr,$category);

      foreach($testArr as $test)
      switch($test['label'])
      case 'case1':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
      break;
      case 'Food City':
      $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case2':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case3':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case4':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      default:
      $result[] = ['value' => $test['value'], 'label' => $test['label']];


      return $result;



      in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










      share|improve this question














      I am setting some values in multi-select to be disabled based on some condition



      This is how I am declaring my UI component



      <field name="category_option">
      <argument name="data" xsi:type="array">
      <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
      <item name="config" xsi:type="array">
      <item name="dataType" xsi:type="string">text</item>
      <item name="label" translate="true" xsi:type="string">Category Option</item>
      <item name="formElement" xsi:type="string">multiselect</item>
      <item name="source" xsi:type="string">category_option</item>
      <item name="sortOrder" xsi:type="number">60</item>
      <item name="dataScope" xsi:type="string">category_option</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      </argument>
      </field>


      And passing values using



      public function toOptionArray()

      $categories = $this->_helper->getTestCategoryOptions();
      $testArr = [];
      foreach($categories as $category)
      $testArr = array_merge($testArr,$category);

      foreach($testArr as $test)
      switch($test['label'])
      case 'case1':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
      break;
      case 'Food City':
      $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case2':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case3':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case4':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      default:
      $result[] = ['value' => $test['value'], 'label' => $test['label']];


      return $result;



      in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component







      adminhtml magento2.2 uicomponent multiselect






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 26 '18 at 6:56









      Vishwas BhatnagarVishwas Bhatnagar

      2,93822046




      2,93822046




















          1 Answer
          1






          active

          oldest

          votes


















          0














          The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



          It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



           case 'Food City':
          $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
          break;





          share|improve this answer























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "479"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f223772%2fmagento2-how-disable-some-specific-values-in-multi-select-ui-component%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



            It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



             case 'Food City':
            $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
            break;





            share|improve this answer



























              0














              The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



              It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



               case 'Food City':
              $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
              break;





              share|improve this answer

























                0












                0








                0







                The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



                It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



                 case 'Food City':
                $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
                break;





                share|improve this answer













                The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



                It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



                 case 'Food City':
                $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
                break;






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered yesterday









                JasutenJasuten

                61038




                61038



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f223772%2fmagento2-how-disable-some-specific-values-in-multi-select-ui-component%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bulk add to cart function issuecart vs. mini cart issue … rwd themeRedirect Add to cart button to cart pageAdd to cart issue - Magento 2.1The requested Payment Method is not available When creating an orderM2: reason add-to-cart might not function in production modeAdd to cart issue in some android devicesMagento 2 - custom price can not add to subtotal and grand total after add to cartAdd to cart codeIssue with my cart module on pdp and cart pages, just keeps spinningBulk price and quantity update using rest api

                    Magento2 - How to hide price filter only in specific categories?Multiselect price filter attribute in layered navigationhide only some categories from layered navigation in magentoRemove Price Filter on certain categoriescustomize layered price filter?Hide Price for a particular customer groupPrice filter in layered navigation not working correctly with price including tax in magento 2.2.3Magento 2 how to hide attribute at Layered navigation?Magento 2. how to hide price only for specific categoriesMagento 2 How can I hide the price and total from cart and checkout summary?Magento2: Can we add navigation layered filter like price filter for other attribute?