Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

How to add flag icon in field control ?

krishnachowdary
Tera Contributor

Hi Team,

Could you please provide me the solution for below requirement.

   How to add flag  icon in field control .

for example :

User is india --display india flag

user is USA -- display USA flag.

Through ui macros 

 .Could you please provide me the solution for this requirement

 

Thanks in ADV.

 

Regards,

Vamsi M.

1 ACCEPTED SOLUTION

You have multiple reference attributes there.

1) ref_contributions

2) tree_picker

Reference attributes are separated by commas.  If you have multiple items for one attribute (like 'user_show_country' and 'user_show_incidents'), those should be separated by semicolons.  In order to maintain current functionality and add another macro your 'Attributes' field value should look like this..

ref_contributions=user_show_country;user_show_incidents,tree_picker=true

View solution in original post

18 REPLIES 18

Hi Mark,

Thanks for your response .

its working fine.just i have small doubt for flag set

based on group display the country flag

for example:Us Citizen group --vamsi is member of the Us citizen group

Indian Citizen group --krishna is member of the Indian citizen group.

if i select krishna i want to display Indian flag .

could you please provide solution for this.

i used below code its not working.

Thanks in ADV .

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
<j:set var="jvar_n" value="show_user_country${jvar_guid}:${ref}"/>

<g2:evaluate jelly="true">
//Set country image names (as uploaded to Images module) here
var usImage = 'USA321.png';
var indiaImage = 'INDIA32.png';


//Add additional countries by copying 'else if' statements and modifying country information in 2 locations below

var userGroupDisplay;
var userGroupName;
var userGroupImage;
var id = __ref__.getSysIdValue();
if (id == null) {
userGroupDisplay = "none";
}
else {
var caller = new GlideRecord('sys_user_grmember');
caller.get(id);
if (!caller.Group.nil()) {
userCountryDisplay = "";
//Add additional countries here by copying the 'else if' statement below
//If user is from United States
if (caller.Group== 'Us Citizen') {
userGroupName = 'Us Citizen';
userGroupImage = usImage;
userGroupDisplay = "";
}
//If user is from India
else if (caller.Group== 'Indian citizen') {
userGroupName= 'Indian citizen';
userGroupImage = indiaImage;
userGroupDisplay = ""
}


else {
userGroupDisplay = "none";
}
}
else {
userGroupDisplay = "none";
}
}
</g2:evaluate>

<a id="${jvar_n}"
name="${jvar_n}"
style="display:$[ userGroupDisplay ]; cursor:default"
title="User location: $[userGroupName]">
<img id="${jvar_n}_image" border="0" src="$[userCountryImage]" height="24" width="24"/>
</a>

<script>
//Client script portion to handle 'onChange' events after initial load
needsRefreshCaller = false;
function onChange_caller_id_show_user_country(element, original, changed, loading) {
var s = '${ref}'.split('.');
var referenceField = s[1];
if (needsRefreshCaller == false) {
needsRefreshCaller = true;
return;
}
if (changed.length == 0) {
$('${jvar_n}').hide();
return;
}
var callerRec = g_form.getReference(referenceField , callerShowCountryReturn);
}

function callerShowCountryReturn(callerRec) {
var el = $('${jvar_n}');
var imgEl = $('${jvar_n}_image');
if (callerRec.Group) {
//Add additional countries here by copying the 'else if' statement below
//If user is from United States
if (callerRec.Group == 'Us Citizen') {
el.setAttribute('data-original-title', "User location: United States");
imgEl.src = "$[usImage]";
el.show();
}
//If user is from India
else if (callerRec.Group == 'Indian citizen') {
el.setAttribute('data-original-title', "User location: Japan");
imgEl.src = "$[indiaImage]";
el.show();
}


else {
el.hide();
}
}
else {
el.hide();
}
}

var l = new GlideEventHandler('onChange_caller_id_show_user_country', onChange_caller_id_show_user_country, '${ref}');
g_event_handlers.push(l);
</script>
</j:jelly>

 

Regards,

Krishna M.

 

 

 

That's a different requirement that you should ask in a new forum post...and a bit more complex to implement.  You should mark my original response as the correct answer to your original question and then post a new question for the group issue.

Hi Mark,

Yes, Its working fine for original question .

 

thank you so much mark.

 

Regards,

Krishna M.

Yes, please mark his response as correct.

Any new requirement or question, please make a new post.

Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!