Magento2 : How disable some specific values in Multi-select UI componentMagento2 : 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

Efficiently merge handle parallel feature branches in SFDX

The plural of 'stomach"

What are the ramifications of creating a homebrew world without an Astral Plane?

At which point does a character regain all their Hit Dice?

What's the purpose of "true" in bash "if sudo true; then"

Why is delta-v is the most useful quantity for planning space travel?

Is it okay / does it make sense for another player to join a running game of Munchkin?

Is it correct to write "is not focus on"?

Have I saved too much for retirement so far?

How do I define a right arrow with bar in LaTeX?

Is a roofing delivery truck likely to crack my driveway slab?

Do I need a multiple entry visa for a trip UK -> Sweden -> UK?

Valid Badminton Score?

What to do with wrong results in talks?

What defines a dissertation?

Was the picture area of a CRT a parallelogram (instead of a true rectangle)?

Can somebody explain Brexit in a few child-proof sentences?

Curses work by shouting - How to avoid collateral damage?

What is the oldest known work of fiction?

Why are on-board computers allowed to change controls without notifying the pilots?

Irreducibility of a simple polynomial

quarter to five p.m

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

Minimal reference content



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


Magento2 : 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,92822046




      2,92822046




















          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 11 mins ago









                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

                    Jet Time Laivasto | Lähteet | Aiheesta muualla | NavigointivalikkoJet Time - The CompanyThe CompanyManagementJet Time aloittaa lauantaina Suomi-rekisterissä olevalla Boeing 737 -koneellaJettime Finland Fleet Details and HistoryJettime Fleet Details and HistoryRegional Jet OÜ takes over ATR production for SASJet Time Returns To Its Core BusinessYhtiön kotisivutlaajentamalla

                    Olympian arkeologinen museo Sisällysluettelo Historia ja rakennus | Kokoelmat | Lähteet | Aiheesta muualla | Navigointivalikko37°38′36″N, 21°37′46″EInfobox OKArchaeological Museum of Olympia: HistoryArchaeological Museum of Olympia: DescriptionΜουσείο Ιστορίας των Ολυμπιακών Αγώνων της Αρχαιότητας: ΙστορικόArchaeological Museum of Olympia

                    Äpy Sisällysluettelo Äpyt kautta historian | Esimerkkejä Äpy-huumorista | Katso myös | Kirjallisuutta | Aiheesta muualla | Navigointivalikkowww.äpy.fi