create-actions.js dynamically remove option from dropdown

In sugarCRM 7.2.0 I have a dropdown with legacy items in it. The display values for those items include the text "(legacy)" . I don't want those legacy items to display when creating a new record, they should however display in record view.

In 6.5.15 I would unset those legacy items in the app list strings array during in the pre display on view.edit.php for new records.

In 7.2.0 I am trying to reproduce that functionality in create-actions.js

console.log() is my new best friend and I know I'm getting to the items I want to remove by looping through the app list strings and using javascript match (see hideLegacyValues below).

I just don't know how to unset the options that i want to hide...

It seems that $('[data-name="territory_classification_c"]').options is undefined.
and there are actually no "options" as such in the source code.

Any clues as to the proper way to manipulate dropdown values in code?

Thanks,
FrancescaS

               
   render: function()
   {
      this._super('render');
      this.hideLegacyValues();
   },
                       
   hideLegacyValues: function(){
     // hide legacy items from territory classification
     var territory_list = app.lang.getAppListStrings('territory_classification_list_DD');
     Object.keys(territory_list).forEach(function(key) {
        var check = territory_list[key].match(/legacy/);
        if(territory_list[key].match(/legacy/)){
           //the line below gives an ERROR
           $('[data-name="territory_classification_c"]').options[territory_list[key]].remove();
        }
     });
Parents
  • Here is the html for the dropdown:

    <span class="normal index" data-fieldname="territory_classification_c" data-index="">                     <span sfuuid="549" class="edit">

    <div class="select2-container select2 select2-container-active select2-dropdown-open" id="s2id_autogen23" style="width: 100%;">
       <a href="javascript:void(0)" onclick="return false;" class="select2-choice select2-default" tabindex="-1">  
        <span class="select2-chosen">Select...</span>
       <abbr class="select2-search-choice-close"></abbr>  
       <span class="select2-arrow"><b></b></span>
       </a><input class="select2-focusser select2-offscreen" type="text" id="s2id_autogen24" tabindex="0" disabled="">
    </div>

    <input type="hidden" class="select2 select2-offscreen" name="territory_classification_c" tabindex="-1" value="" aria-label="Territory Classification">

    </span>
     </span>
Reply
  • Here is the html for the dropdown:

    <span class="normal index" data-fieldname="territory_classification_c" data-index="">                     <span sfuuid="549" class="edit">

    <div class="select2-container select2 select2-container-active select2-dropdown-open" id="s2id_autogen23" style="width: 100%;">
       <a href="javascript:void(0)" onclick="return false;" class="select2-choice select2-default" tabindex="-1">  
        <span class="select2-chosen">Select...</span>
       <abbr class="select2-search-choice-close"></abbr>  
       <span class="select2-arrow"><b></b></span>
       </a><input class="select2-focusser select2-offscreen" type="text" id="s2id_autogen24" tabindex="0" disabled="">
    </div>

    <input type="hidden" class="select2 select2-offscreen" name="territory_classification_c" tabindex="-1" value="" aria-label="Territory Classification">

    </span>
     </span>
Children
No Data