I need to push unique values into single line text

Mahidhar_1995
Tera Contributor

I have two fields (Both are list collectors)

Epic Account Type

Domain

 

Based on epic account type and domain we need to push the value to citrix icons

Mahidhar_1995_0-1708628436031.png

 

I have used 2 client scripts upon onchange of Epic account type and Domain, If we choose multiple domains US & DEVAD. it is pushing both values so I am getting duplicates

Onchange of Epic Account Type

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading) {
        return;
    }
    var domain = g_form.getDisplayValue('domain').split(',');

    if (newValue == '' || domain == '') {
        g_form.clearValue('citrix_icons');
        return;
    }

    var data_map = {
        "US": {
            "Epic Hyperspace Admins": "TS- EPIC Hyperspace Admins",
            "Epic Hyperdrive": "TS-Epic Hyperdrive",
            "Epic Text Access": "TS- Reflection ICON",
            "Epic Hyperspace TST Admins": ""
        },
        "DEVAD": {
            "Epic Hyperspace Admins": "TS- EPIC Hyperspace Admins",
            "Epic Hyperdrive": "",
            "Epic Text Access": "TS- Reflection ICON",
            "Epic Hyperspace TST Admins": "TS- EPIC Hyperspace NonPRD"
        }

    };

    var out_value = [];
    var acc_type = g_form.getDisplayValue('epic_account_type').split(',');

    for (var i = 0; i < domain.length; i++) {
        for (var j = 0; j < acc_type.length; j++) {
            var t_value = data_map[domain[i].trim()][acc_type[j].trim()];
            if (t_value) out_value.push(t_value);
        }
    }
    g_form.setValue('citrix_icons', out_value.join(', '));
    // if(out_value.length == 2) out_value.push('TS-Epic Hyperspace Admins');
   
    //g_form.setValue('citrix_icons', out_value.join(', '));

}
Onchange of Domain
 
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading) {
        return;
    }
    var acc_type = g_form.getDisplayValue('epic_account_type').split(',');


    if (newValue == '' || acc_type == '') {
        g_form.clearValue('citrix_icons');
        return;
    }

    var data_map = {
        "US": {
            "Epic Hyperspace Admins""TS- EPIC Hyperspace Admins",
            "Epic Hyperdrive""TS-Epic Hyperdrive",
            "Epic Text Access""TS- Reflection ICON",
            "Epic Hyperspace TST Admins"""
        },
        "DEVAD": {
            "Epic Hyperspace Admins""TS- EPIC Hyperspace Admins",
            "Epic Hyperdrive""",
            "Epic Text Access""TS- Reflection ICON",
            "Epic Hyperspace TST Admins""TS- EPIC Hyperspace NonPRD"
        }

    };

    var out_value = [];
    var domain = g_form.getDisplayValue('domain').split(',');

    for (var i = 0; i < domain.length; i++) {
        for (var j = 0; j < acc_type.length; j++) {
            var t_value = data_map[domain[i].trim()][acc_type[j].trim()];
            if (t_value) out_value.push(t_value);
        }
    }
    g_form.setValue('citrix_icons', out_value.join(', '));
    //if(out_value.length == 2) out_value.push(t_value);

    g_form.setValue('citrix_icons', out_value.join(', '));

}
I am getting output as like this
Mahidhar_1995_1-1708628435991.png

 

 



I need to push the unique values no duplicates. Please provide your assistance

1 REPLY 1

Sarika S Nair1
Kilo Sage