Set Reference Qualifier in reflistOpen

sigmachiuta
Kilo Guru

I am trying to set a reference qualifier on   reflistOpen in a UI macro like below.   The problem is that when the ref list opens the qualifier is being ignored and i see the full list.

<a onclick="reflistOpen( '${jvar_control_name_actual}', 'not', '${jvar_reference}', '' ,

'false', 'QUERY:active=true' );mousePositionSave(event);"

tabindex="1" class="icon-search btn btn-default sn-tooltip-basic">

  </a>

It looks like it was done here but not inside a macro.

Re: UI page dependent reference field

3 REPLIES 3

Abhinay Erra
Giga Sage

Can you post the code of your macro here.



Thanks,


Abhinay



PS: Hit like, Helpful or Correct depending on the impact of the response


Community Alums
Not applicable

Hello,



This code sample is part of OOTB macro, lightweight_glide_list.



<?xml version="1.0" encoding="utf-8" ?>


<j:jelly trim="true" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">



  <!--


  Simplified glide list implemenation for use within macros. Runs entirely in a single phase.


  Doesn't support clickthrough or m2m edit.



  Requires the following variables be set prior to execution:



  jvar_reference   where are we pulling our list from e.g. sys_user


  jvar_list_data   current value e.g. abc123,def456


  jvar_can_write   can we edit this?


  jvar_control_name   name of this control on screen?


  -->



  <j:set var="jvar_control_name_actual" value="${jvar_control_name}" />


  <j:set var="jvar_control_name" value="z${jvar_control_name}" />


  <g:evaluate var="jvar_current_user" expression="gs.getUserDisplayName()" />


  <g:evaluate var="jvar_current_user_id" expression="gs.getUserID()" />



  <j:if test="${!jvar_can_write}">


  <g:get_distribution_list ref="${jvar_reference}" readonly="true" ensure="true" record="${jvar_list_data}" />


  </j:if>


  <j:if test="${jvar_can_write}">


  <SPAN id="${jvar_control_name}_edit">


  <TABLE cellSpacing="1" cellPadding="1" border="0">


  <TR>


  <TD>


  <!-- left selection -->


  <SELECT id="select_0${jvar_control_name_actual}" style="margin:2px; WIDTH: 160px" multiple="yes"


  size="4" name="select_0${jvar_control_name_actual}">


  <g:get_distribution_list ref="${jvar_reference}"


  record="${jvar_list_data}" type="current" />


  </SELECT>


  </TD>


  <TD class="bodySmall" vAlign="center">


  <!-- add / remove buttons -->


  <TABLE cellSpacing="0" cellPadding="0" border="0">


  <j:if test="${jvar_reference == 'sys_user'}" >


      <TR>


  <TD>


  <A


  onclick="addChoiceFromValueAndDisplay(gel('select_0${jvar_control_name_actual}'), '$[jvar_current_user_id]', '$[jvar_current_user]');synchLists('${jvar_control_name_actual}');">


  <IMG width="16" height="16" alt="${gs.getMessage('Add me')}" title="${gs.getMessage('Add me')}" src="images/icons/user_obj.gifx" border="0"/>


  </A>


  </TD>


  </TR>


  </j:if>


  <TR>


  <TD>


  <A onclick="simpleRemoveOption(gel('select_0${jvar_control_name_actual}'));synchLists('${jvar_control_name_actual}');">


  <IMG width="16" height="16" title="${gs.getMessage('Remove selected item')}"


  src="images/delete_edit.gifx" alt="${gs.getMessage('Remove selected item')}" border="0" />


  </A>


  </TD>


  </TR>


  <TR>


  <TD>


  <img id="${jvar_control_name}_lock" onclick="lock(this, '${jvar_control_name}', '${jvar_control_name}_edit', '${jvar_control_name}_nonedit', 'select_0${jvar_control_name}', '${jvar_control_name}_nonedit')"


  src="images/view_form.pngx"


  style="align: left; padding-top: 3px; cursor: pointer; display: none"


  alt="Lock"/>


  </TD>


  </TR>


  </TABLE>


  </TD>


  </TR>


  <TR>



  <TD>



  <input id="sys_display.${jvar_control_name}" name="sys_display.${jvar_control_name}"


  onfocus="if (!this.ac) new AJAXReferenceCompleter(this, '${jvar_control_name}', '${jvar_dependent}', '${jvar_ref_qual_elements}', '${jvar_reference}');"


  onkeydown="return acReferenceKeyDown(this, event);" onkeyup="return acReferenceKeyUp(this, event)"


  onkeypress="return acReferenceKeyPress(this, event)"


  function="addChoiceLocal('${jvar_control_name}', '${jvar_control_name_actual}')"


  autocomplete="off"/>



  <a


  onclick="reflistOpen( '${jvar_control_name_actual}', 'not', '${jvar_reference}', '');mousePositionSave(event);"


  tabindex="1">


  <img src="images/reference_list.gifx" border="0" alt="${gs.getMessage('Lookup using list')}" width="18" height="16" />


  </a>



  </TD>



  </TR>


  </TABLE>


  </SPAN>


  <SPAN id="${jvar_control_name}_nonedit">


  <g:get_distribution_list ref="${jvar_reference}" readonly="true" ensure="true" record="${jvar_list_data}" />


  </SPAN>


  <img id="${jvar_control_name}_unlock" onclick="unlock(this, '${jvar_control_name}', '${jvar_control_name}_edit', '${jvar_control_name}_nonedit')"


  src="images/view_edit.pngx"


  style="cursor: pointer; display: inline; margin-left: 2px;"


  alt="Unlock"/>


  </j:if>


  <input type="HIDDEN" name="${jvar_control_name_actual}" id="${jvar_control_name_actual}" value="${jvar_list_data}"   class="${jvar_question_widget_class}" />


  <input type="HIDDEN" name="${jvar_control_name}" id="${jvar_control_name}" value="hello"/>


  <input type="HIDDEN" name="sys_original.${jvar_control_name}" value="${jvar_list_data}"/>


  <input NAME="make_spacing_ok" style="visibility: hidden; width:1px" title=""/>


  <j:if test="${jvar_can_write}">


  <script>  


  function addTextValue(e, selectID, id) {


          var keyCode = getKeyCode(e);


          if (keyCode == KEY_ENTER) {


      addChoiceFromInput(selectID, id);


      return false; //cancel the event


          }


          return true; // continue event processing


  }



  function addChoiceLocal(fieldid, actualfieldid) {


  var selectBox = gel('select_0'+actualfieldid);


  var value = gel(fieldid).value;


  var displayWidget = gel('sys_display.' + fieldid);


  var display = displayWidget.value;


              displayWidget.value= '';


  var opt = document.createElement("option");


  opt.value = value;


  opt.text = display;


  selectBox.options.add(opt);


  synchLists(actualfieldid);


  }




  function synchLists(actualfieldid) {


              var sel0 = gel('select_0' + actualfieldid);


  var distribution = gel(actualfieldid);


  var ovalue = distribution.value;


              saveAllSelected([ sel0 ], [ distribution ], ',', '\\', '--None--');


  }



  addRenderEvent(function() {


      var sel = gel('select_0${jvar_control_name}');


      var ul = gel('${jvar_control_name}_lock');


      <j:if test="${jvar_start_locked}">


          lock(ul,'${jvar_control_name}','${jvar_control_name}_edit','${jvar_control_name}_nonedit', 'select_0${jvar_control_name}', '${jvar_control_name}_nonedit');


      </j:if>


      <j:if test="${!jvar_start_locked}">


              <j:if test="${!jvar_not_focused}">


                      unlock(gel('${jvar_control_name}_unlock'), '${jvar_control_name}', '${jvar_control_name}_edit', '${jvar_control_name}_nonedit');


              </j:if>


      </j:if>


  });


  </script>


  </j:if>


</j:jelly>


utagrawal
Tera Contributor

@sigmachiuta  did u get the answer? . Please share i am trying to do the same thing